mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
HttpWebClient: Attempt to fix "Too many open files" in unix environments
This commit is contained in:
@@ -27,7 +27,7 @@ namespace Jackett.Utils.Clients
|
|||||||
{
|
{
|
||||||
if (Startup.IgnoreSslErrors == true)
|
if (Startup.IgnoreSslErrors == true)
|
||||||
{
|
{
|
||||||
logger.Info(string.Format("WindowsWebClient: Disabling certificate validation"));
|
logger.Info(string.Format("HttpWebClient: Disabling certificate validation"));
|
||||||
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => { return true; };
|
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => { return true; };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -60,8 +60,9 @@ namespace Jackett.Utils.Clients
|
|||||||
useProxy = true;
|
useProxy = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClearanceHandler clearanceHandlr = new ClearanceHandler();
|
using (ClearanceHandler clearanceHandlr = new ClearanceHandler())
|
||||||
HttpClientHandler clientHandlr = new HttpClientHandler
|
{
|
||||||
|
using (HttpClientHandler clientHandlr = new HttpClientHandler
|
||||||
{
|
{
|
||||||
CookieContainer = cookies,
|
CookieContainer = cookies,
|
||||||
AllowAutoRedirect = false, // Do not use this - Bugs ahoy! Lost cookies and more.
|
AllowAutoRedirect = false, // Do not use this - Bugs ahoy! Lost cookies and more.
|
||||||
@@ -69,18 +70,20 @@ namespace Jackett.Utils.Clients
|
|||||||
Proxy = proxyServer,
|
Proxy = proxyServer,
|
||||||
UseProxy = useProxy,
|
UseProxy = useProxy,
|
||||||
AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
|
AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
|
||||||
};
|
})
|
||||||
|
{
|
||||||
|
|
||||||
clearanceHandlr.InnerHandler = clientHandlr;
|
clearanceHandlr.InnerHandler = clientHandlr;
|
||||||
var client = new HttpClient(clearanceHandlr);
|
using (var client = new HttpClient(clearanceHandlr))
|
||||||
|
{
|
||||||
if (webRequest.EmulateBrowser)
|
if (webRequest.EmulateBrowser)
|
||||||
client.DefaultRequestHeaders.Add("User-Agent", BrowserUtil.ChromeUserAgent);
|
client.DefaultRequestHeaders.Add("User-Agent", BrowserUtil.ChromeUserAgent);
|
||||||
else
|
else
|
||||||
client.DefaultRequestHeaders.Add("User-Agent", "Jackett/" + configService.GetVersion());
|
client.DefaultRequestHeaders.Add("User-Agent", "Jackett/" + configService.GetVersion());
|
||||||
|
|
||||||
HttpResponseMessage response = null;
|
HttpResponseMessage response = null;
|
||||||
var request = new HttpRequestMessage();
|
using (var request = new HttpRequestMessage())
|
||||||
|
{
|
||||||
request.Headers.ExpectContinue = false;
|
request.Headers.ExpectContinue = false;
|
||||||
request.RequestUri = new Uri(webRequest.Url);
|
request.RequestUri = new Uri(webRequest.Url);
|
||||||
|
|
||||||
@@ -100,7 +103,7 @@ namespace Jackett.Utils.Clients
|
|||||||
|
|
||||||
if (!string.IsNullOrEmpty(webRequest.RawBody))
|
if (!string.IsNullOrEmpty(webRequest.RawBody))
|
||||||
{
|
{
|
||||||
var type = webRequest.Headers.Where(h => h.Key == "Content-Type").Cast<KeyValuePair<string,string>?>().FirstOrDefault();
|
var type = webRequest.Headers.Where(h => h.Key == "Content-Type").Cast<KeyValuePair<string, string>?>().FirstOrDefault();
|
||||||
if (type.HasValue)
|
if (type.HasValue)
|
||||||
{
|
{
|
||||||
var str = new StringContent(webRequest.RawBody);
|
var str = new StringContent(webRequest.RawBody);
|
||||||
@@ -122,8 +125,8 @@ namespace Jackett.Utils.Clients
|
|||||||
request.Method = HttpMethod.Get;
|
request.Method = HttpMethod.Get;
|
||||||
}
|
}
|
||||||
|
|
||||||
response = await client.SendAsync(request);
|
using (response = await client.SendAsync(request))
|
||||||
|
{
|
||||||
var result = new WebClientByteResult();
|
var result = new WebClientByteResult();
|
||||||
result.Content = await response.Content.ReadAsByteArrayAsync();
|
result.Content = await response.Content.ReadAsByteArrayAsync();
|
||||||
|
|
||||||
@@ -195,4 +198,9 @@ namespace Jackett.Utils.Clients
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user