From 581d5167b9953ccdc8285aa11ea7dfbab4815db6 Mon Sep 17 00:00:00 2001 From: Archi Date: Tue, 7 Dec 2021 21:34:46 +0100 Subject: [PATCH] Closes #2465 --- ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs | 6 +++--- ArchiSteamFarm/Web/WebBrowser.cs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs b/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs index 1933f48ce..2ed2f3130 100644 --- a/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs +++ b/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs @@ -1666,7 +1666,7 @@ public sealed class ArchiWebHandler : IDisposable { } } - Uri request = new(SteamCommunityURL, $"/mobileconf/conf?a={Bot.SteamID}&k={WebUtility.UrlEncode(confirmationHash)}&l=english&m=android&p={WebUtility.UrlEncode(deviceID)}&t={time}&tag=conf"); + Uri request = new(SteamCommunityURL, $"/mobileconf/conf?a={Bot.SteamID}&k={Uri.EscapeDataString(confirmationHash)}&l=english&m=android&p={Uri.EscapeDataString(deviceID)}&t={time}&tag=conf"); HtmlDocumentResponse? response = await UrlGetToHtmlDocumentWithSession(request).ConfigureAwait(false); @@ -1954,7 +1954,7 @@ public sealed class ArchiWebHandler : IDisposable { } } - Uri request = new(SteamCommunityURL, $"/mobileconf/ajaxop?a={Bot.SteamID}&cid={confirmationID}&ck={confirmationKey}&k={WebUtility.UrlEncode(confirmationHash)}&l=english&m=android&op={(accept ? "allow" : "cancel")}&p={WebUtility.UrlEncode(deviceID)}&t={time}&tag=conf"); + Uri request = new(SteamCommunityURL, $"/mobileconf/ajaxop?a={Bot.SteamID}&cid={confirmationID}&ck={confirmationKey}&k={Uri.EscapeDataString(confirmationHash)}&l=english&m=android&op={(accept ? "allow" : "cancel")}&p={Uri.EscapeDataString(deviceID)}&t={time}&tag=conf"); ObjectResponse? response = await UrlGetToJsonObjectWithSession(request).ConfigureAwait(false); @@ -2118,7 +2118,7 @@ public sealed class ArchiWebHandler : IDisposable { WebBrowser.CookieContainer.Add(new Cookie("steamLoginSecure", steamLoginSecure, "/", $".{SteamStoreURL.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 = $"{DateTimeOffset.Now.Offset.TotalSeconds}{WebUtility.UrlEncode(",")}0"; + string timeZoneOffset = $"{DateTimeOffset.Now.Offset.TotalSeconds}{Uri.EscapeDataString(",")}0"; WebBrowser.CookieContainer.Add(new Cookie("timezoneOffset", timeZoneOffset, "/", $".{SteamCommunityURL.Host}")); WebBrowser.CookieContainer.Add(new Cookie("timezoneOffset", timeZoneOffset, "/", $".{SteamHelpURL.Host}")); diff --git a/ArchiSteamFarm/Web/WebBrowser.cs b/ArchiSteamFarm/Web/WebBrowser.cs index 6af529798..3b314a02a 100644 --- a/ArchiSteamFarm/Web/WebBrowser.cs +++ b/ArchiSteamFarm/Web/WebBrowser.cs @@ -680,11 +680,11 @@ public sealed class WebBrowser : IDisposable { requestMessage.Content = content; break; - case IReadOnlyCollection> nameValueCollection: + case IReadOnlyCollection> nameValueCollection: try { requestMessage.Content = new FormUrlEncodedContent(nameValueCollection); } catch (UriFormatException) { - requestMessage.Content = new StringContent(string.Join("&", nameValueCollection.Select(static kv => $"{WebUtility.UrlEncode(kv.Key)}={WebUtility.UrlEncode(kv.Value)}")), null, "application/x-www-form-urlencoded"); + requestMessage.Content = new StringContent(string.Join("&", nameValueCollection.Select(static kv => $"{Uri.EscapeDataString(kv.Key)}={Uri.EscapeDataString(kv.Value)}")), null, "application/x-www-form-urlencoded"); } break;