|
|
|
@ -140,7 +140,17 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
|
|
|
|
|
|
|
|
|
|
private WebRequest GetRequest(HttpRequestOptions options, string method)
|
|
|
|
|
{
|
|
|
|
|
var request = CreateWebRequest(options.Url);
|
|
|
|
|
var url = options.Url;
|
|
|
|
|
|
|
|
|
|
var uriAddress = new Uri(url);
|
|
|
|
|
var userInfo = uriAddress.UserInfo;
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(userInfo))
|
|
|
|
|
{
|
|
|
|
|
_logger.Info("Found userInfo in url: {0} ... url: {1}", userInfo, url);
|
|
|
|
|
url = url.Replace(userInfo + "@", string.Empty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var request = CreateWebRequest(url);
|
|
|
|
|
var httpWebRequest = request as HttpWebRequest;
|
|
|
|
|
|
|
|
|
|
if (httpWebRequest != null)
|
|
|
|
@ -183,9 +193,27 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(userInfo))
|
|
|
|
|
{
|
|
|
|
|
var parts = userInfo.Split(':');
|
|
|
|
|
if (parts.Length == 2)
|
|
|
|
|
{
|
|
|
|
|
request.Credentials = GetCredential(url, parts[0], parts[1]);
|
|
|
|
|
request.PreAuthenticate = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return request;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private CredentialCache GetCredential(string url, string username, string password)
|
|
|
|
|
{
|
|
|
|
|
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
|
|
|
|
|
CredentialCache credentialCache = new CredentialCache();
|
|
|
|
|
credentialCache.Add(new Uri(url), "Basic", new NetworkCredential(username, password));
|
|
|
|
|
return credentialCache;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AddRequestHeaders(HttpWebRequest request, HttpRequestOptions options)
|
|
|
|
|
{
|
|
|
|
|
foreach (var header in options.RequestHeaders.ToList())
|
|
|
|
|