mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
core: allow to set user-agent header per indexer (#10528)
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
<PackageReference Include="Autofac" Version="5.2.0" />
|
||||
<PackageReference Include="AutoMapper" Version="8.1.1" />
|
||||
<PackageReference Include="BencodeNET" Version="3.1.4" />
|
||||
<PackageReference Include="FlareSolverrSharp" Version="1.2.0" />
|
||||
<PackageReference Include="FlareSolverrSharp" Version="1.2.1" />
|
||||
<PackageReference Include="CommandLineParser" Version="2.8.0" />
|
||||
<PackageReference Include="DotNet4.SocksProxy" Version="1.4.0.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
|
||||
|
@@ -75,11 +75,9 @@ namespace Jackett.Common.Utils.Clients
|
||||
cookies.Add(cookieUrl, new Cookie(kv.Key, kv.Value));
|
||||
}
|
||||
|
||||
var userAgent = webRequest.EmulateBrowser.Value ? BrowserUtil.ChromeUserAgent : "Jackett/" + configService.GetVersion();
|
||||
|
||||
using (var clearanceHandlr = new ClearanceHandler(serverConfig.FlareSolverrUrl))
|
||||
{
|
||||
clearanceHandlr.UserAgent = userAgent;
|
||||
clearanceHandlr.UserAgent = BrowserUtil.ChromeUserAgent;
|
||||
clearanceHandlr.MaxTimeout = 50000;
|
||||
using (var clientHandlr = new HttpClientHandler
|
||||
{
|
||||
@@ -94,12 +92,6 @@ namespace Jackett.Common.Utils.Clients
|
||||
clearanceHandlr.InnerHandler = clientHandlr;
|
||||
using (var client = new HttpClient(clearanceHandlr))
|
||||
{
|
||||
if (webRequest.EmulateBrowser == true)
|
||||
client.DefaultRequestHeaders.Add("User-Agent", BrowserUtil.ChromeUserAgent);
|
||||
else
|
||||
client.DefaultRequestHeaders.Add("User-Agent", "Jackett/" + configService.GetVersion());
|
||||
|
||||
HttpResponseMessage response = null;
|
||||
using (var request = new HttpRequestMessage())
|
||||
{
|
||||
request.Headers.ExpectContinue = false;
|
||||
@@ -116,6 +108,15 @@ namespace Jackett.Common.Utils.Clients
|
||||
}
|
||||
}
|
||||
|
||||
// The User-Agent can be set by the indexer (in the headers)
|
||||
if (string.IsNullOrWhiteSpace(request.Headers.UserAgent.ToString()))
|
||||
{
|
||||
if (webRequest.EmulateBrowser == true)
|
||||
request.Headers.UserAgent.ParseAdd(BrowserUtil.ChromeUserAgent);
|
||||
else
|
||||
request.Headers.UserAgent.ParseAdd("Jackett/" + configService.GetVersion());
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(webRequest.Referer))
|
||||
request.Headers.Referrer = new Uri(webRequest.Referer);
|
||||
|
||||
@@ -144,6 +145,7 @@ namespace Jackett.Common.Utils.Clients
|
||||
request.Method = HttpMethod.Get;
|
||||
}
|
||||
|
||||
HttpResponseMessage response;
|
||||
using (response = await client.SendAsync(request))
|
||||
{
|
||||
var result = new WebResult
|
||||
|
@@ -104,11 +104,6 @@ namespace Jackett.Common.Utils.Clients
|
||||
request.Headers.ExpectContinue = false;
|
||||
request.RequestUri = new Uri(webRequest.Url);
|
||||
|
||||
if (webRequest.EmulateBrowser == true)
|
||||
request.Headers.UserAgent.ParseAdd(BrowserUtil.ChromeUserAgent);
|
||||
else
|
||||
request.Headers.UserAgent.ParseAdd("Jackett/" + configService.GetVersion());
|
||||
|
||||
// clear cookies from cookiecontainer
|
||||
var oldCookies = cookies.GetCookies(request.RequestUri);
|
||||
foreach (Cookie oldCookie in oldCookies)
|
||||
@@ -135,6 +130,15 @@ namespace Jackett.Common.Utils.Clients
|
||||
}
|
||||
}
|
||||
|
||||
// The User-Agent can be set by the indexer (in the headers)
|
||||
if (string.IsNullOrWhiteSpace(request.Headers.UserAgent.ToString()))
|
||||
{
|
||||
if (webRequest.EmulateBrowser == true)
|
||||
request.Headers.UserAgent.ParseAdd(BrowserUtil.ChromeUserAgent);
|
||||
else
|
||||
request.Headers.UserAgent.ParseAdd("Jackett/" + configService.GetVersion());
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(webRequest.Referer))
|
||||
request.Headers.Referrer = new Uri(webRequest.Referer);
|
||||
|
||||
|
Reference in New Issue
Block a user