Тестовый прокси, чтобы увидеть, требуется ли аутентификация
У меня есть список прокси, которые я хочу просмотреть и проверить, чтобы убедиться, что они работают, а также проверить, чтобы убедиться, что они не требуют имени пользователя и пароля.
Тем не менее, тест не работает правильно. Например, у меня есть один прокси-сервер, который, как я знаю, требует имени пользователя и пароля, но он как-то проходит тест.
Вот пример кода, который у меня есть:
HttpWebRequest webReq = (HttpWebRequest)System.Net.HttpWebRequest.Create("http://www.google.com");
webReq.Proxy = new WebProxy(proxy);
HttpWebResponse webRes = (HttpWebResponse)webReq.GetResponse();
if (webRes.StatusCode != HttpStatusCode.ProxyAuthenticationRequired)
{
Stream myStream = webRes.GetResponseStream();
if (myStream != null)
{
success = true;
}
}
Например, следующий прокси-сервер требует аутентификации: "66.60.148.11:3128". Однако, когда я запускаю код, webRes.StatusCode возвращается как OK и проходит тест webRes.StatusCode!= HttpStatusCode.ProxyAuthenticationRequired.
Любые идеи или предложения приветствуются.
Спасибо!
1 ответ
Я мог бы представить, что запрос к прокси, который разрешает его (так сказать), не следует стандартам HTTP, не возвращая код состояния 407. Вы можете просмотреть это, выполнив анализатор пакетов с помощью что-то вроде WireShark http://www.wireshark.org/ или используя инструменты отладки браузера, такие как Chromes Developer Tools (Ctrl+Shift+I). Вы также можете проверить, какой код состояния возвращается, посмотрев на значение webRes.StatusCode
для этого случая.