WebClient: set Accept-Language if missing

This commit is contained in:
kaso17 2017-11-07 16:10:12 +01:00
parent 210085b854
commit 8c053797ce
1 changed files with 10 additions and 1 deletions

View File

@ -64,10 +64,13 @@ namespace Jackett.Utils.Clients
virtual protected void PrepareRequest(WebRequest request)
{
// add accept header if not set
// add Accept/Accept-Language header if not set
// some webservers won't accept requests without accept
// e.g. elittracker requieres the Accept-Language header
if (request.Headers == null)
request.Headers = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
var hasAccept = false;
var hasAcceptLanguage = false;
foreach (var header in request.Headers)
{
var key = header.Key.ToLower();
@ -75,9 +78,15 @@ namespace Jackett.Utils.Clients
{
hasAccept = true;
}
else if (key == "accept-language")
{
hasAcceptLanguage = true;
}
}
if (!hasAccept)
request.Headers.Add("Accept", "*/*");
if (!hasAcceptLanguage)
request.Headers.Add("Accept-Language", "*");
return;
}