From 9e1ba20783645c62d7cd11781bc30bdcc8c9dbaf Mon Sep 17 00:00:00 2001 From: Vincent Jansen Date: Sun, 25 Jun 2023 12:52:33 +0200 Subject: [PATCH] Fix for addlicense (#2927) Fixing #2925 based on suggestions on that issue --- ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs b/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs index d4b00251f..f7db5406c 100644 --- a/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs +++ b/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs @@ -66,6 +66,9 @@ public sealed class ArchiWebHandler : IDisposable { [PublicAPI] public static Uri SteamStoreURL => new("https://store.steampowered.com"); + [PublicAPI] + public static Uri SteamCheckoutURL => new("https://checkout.steampowered.com"); + private static ushort WebLimiterDelay => ASF.GlobalConfig?.WebLimiterDelay ?? GlobalConfig.DefaultWebLimiterDelay; [PublicAPI] @@ -1559,7 +1562,7 @@ public sealed class ArchiWebHandler : IDisposable { throw new ArgumentOutOfRangeException(nameof(subID)); } - Uri request = new(SteamStoreURL, $"/checkout/addfreelicense/{subID}"); + Uri request = new(SteamCheckoutURL, $"/checkout/addfreelicense/{subID}"); // Extra entry for sessionID Dictionary data = new(2, StringComparer.Ordinal) { @@ -2275,14 +2278,17 @@ public sealed class ArchiWebHandler : IDisposable { WebBrowser.CookieContainer.Add(new Cookie("sessionid", sessionID, "/", $".{SteamCommunityURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("sessionid", sessionID, "/", $".{SteamHelpURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("sessionid", sessionID, "/", $".{SteamStoreURL.Host}")); + WebBrowser.CookieContainer.Add(new Cookie("sessionid", sessionID, "/", $".{SteamCheckoutURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("steamLogin", steamLogin, "/", $".{SteamCommunityURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("steamLogin", steamLogin, "/", $".{SteamHelpURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("steamLogin", steamLogin, "/", $".{SteamStoreURL.Host}")); + WebBrowser.CookieContainer.Add(new Cookie("steamLogin", steamLogin, "/", $".{SteamCheckoutURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("steamLoginSecure", steamLoginSecure, "/", $".{SteamCommunityURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("steamLoginSecure", steamLoginSecure, "/", $".{SteamHelpURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("steamLoginSecure", steamLoginSecure, "/", $".{SteamStoreURL.Host}")); + WebBrowser.CookieContainer.Add(new Cookie("steamLoginSecure", steamLoginSecure, "/", $".{SteamCheckoutURL.Host}")); // Report proper time when doing timezone-based calculations, see setTimezoneCookies() from https://steamcommunity-a.akamaihd.net/public/shared/javascript/shared_global.js string timeZoneOffset = $"{(int) DateTimeOffset.Now.Offset.TotalSeconds}{Uri.EscapeDataString(",")}0"; @@ -2290,6 +2296,7 @@ public sealed class ArchiWebHandler : IDisposable { WebBrowser.CookieContainer.Add(new Cookie("timezoneOffset", timeZoneOffset, "/", $".{SteamCommunityURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("timezoneOffset", timeZoneOffset, "/", $".{SteamHelpURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("timezoneOffset", timeZoneOffset, "/", $".{SteamStoreURL.Host}")); + WebBrowser.CookieContainer.Add(new Cookie("timezoneOffset", timeZoneOffset, "/", $".{SteamCheckoutURL.Host}")); Bot.ArchiLogger.LogGenericInfo(Strings.Success);