Использование автоматической настройки прокси-сервера из настроек IE в .Net
У меня возникли проблемы с настройкой автоматической настройки прокси-сервера (PAC) в настройках IE для работы в ожидании с использованием .Net WebRequest.
Согласно этой статье:
Обнаружение прокси
Возьмите пользователей с автоматической загрузкой в .NET.
Системный прокси должен быть установлен по умолчанию для каждого WebRequest.
Как выглядит файл proxy.js pac:
function FindProxyForURL(url, host)
{
return "PROXY ProxyServerName:3118; DIRECT;";
}
Я также посмотрел этот пост: Как установить прокси-сервер по умолчанию для использования учетных данных по умолчанию?
Что предлагает добавить это в app.config:
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
Добавление этого не помогло.
Я создал небольшое консольное приложение, чтобы проверить это. Вот он:
static void Main(string[] args)
{
HttpWebRequest request = null;
try
{
String resolvedAddress = WebRequest.DefaultWebProxy.GetProxy(new Uri("http://www.google.com")).ToString();
Console.WriteLine("Proxy for address is: " + resolvedAddress);
Uri m_URLToTest = new Uri("http://www.google.com");
request = WebRequest.Create(m_URLToTest) as HttpWebRequest;
request.Method = "GET";
request.KeepAlive = false;
request.Timeout = 5000;
request.Proxy = WebRequest.DefaultWebProxy;
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string message = reader.ReadToEnd();
}
catch (Exception ex)
{
Console.Write("Exception");
}
}
Выход:
Прокси для адреса http://www.google.com
вместо прокси для адреса: ProxyServerName: 3118
Это происходит только при использовании автоматической конфигурации script...
Я что-то пропустил? Пожалуйста, помогите!
Ответы
Ответ 1
Найден решение!
Очень важно, чтобы тип mime файла PAC был: [Content-type: application/x-ns-proxy-autoconfig]
Другие типы mime могут не работать.
Убедитесь, что с помощью fiddler2 (с отключенным кешем) используется тип mime.
В некоторых конфигурациях может отображаться Content-Type: text/plain, что плохо.
Ответ 2
Убедитесь, что вы отметили возможности Internet (Client & Server)
и Private Networks (Client & Server)
в Package.appxmanifest
.
![См. это]()
[Источник]