Skip to content

Commit f986bbc

Browse files
Sanitize cookies since .net can't parse some (patreon's tcm cookie for example), add --disable-dev-shm-usage chrome argument
Co-authored-by: Juanje Cilla <juanje.cilla@gmail.com>
1 parent 38922b8 commit f986bbc

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

UniversalDownloaderPlatform.PuppeteerEngine/PuppeteerCookieRetriever.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public virtual async Task<CookieContainer> RetrieveCookies()
141141
}
142142
catch (Exception ex)
143143
{
144-
_logger.Fatal($"Login error: {ex.Message}");
144+
_logger.Fatal($"Login error: {ex.Message}", ex);
145145
return null;
146146
}
147147

@@ -158,9 +158,18 @@ public virtual async Task<CookieContainer> RetrieveCookies()
158158
{
159159
foreach (CookieParam browserCookie in browserCookies)
160160
{
161-
_logger.Debug($"Adding cookie: {browserCookie.Name}");
162-
Cookie cookie = new Cookie(browserCookie.Name, browserCookie.Value, browserCookie.Path, browserCookie.Domain);
163-
cookieContainer.Add(cookie);
161+
try
162+
{
163+
_logger.Debug($"Adding cookie: {browserCookie.Name}");
164+
// Sanitize cookie value to remove characters that are not valid in .NET cookie values
165+
string sanitizedValue = WebUtility.UrlEncode(browserCookie.Value);
166+
Cookie cookie = new Cookie(browserCookie.Name, sanitizedValue, browserCookie.Path, browserCookie.Domain);
167+
cookieContainer.Add(cookie);
168+
}
169+
catch (Exception ex)
170+
{
171+
_logger.Warn($"Failed to add cookie {browserCookie.Name}: {ex.Message}.", ex);
172+
}
164173
}
165174
}
166175
else

UniversalDownloaderPlatform.PuppeteerEngine/PuppeteerEngine.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ private async Task<IWebBrowser> StartLocalBrowser()
155155
browserArguments.Add($"--proxy-server=\"{_proxyServerAddress}\"");
156156

157157
browserArguments.Add("--disable-blink-features=AutomationControlled");
158+
browserArguments.Add("--disable-dev-shm-usage");
158159

159160
_browser = await PuppeteerSharp.Puppeteer.LaunchAsync(new LaunchOptions
160161
{

0 commit comments

Comments
 (0)