Тестовый прокси, чтобы увидеть, требуется ли аутентификация - PullRequest
4 голосов
/ 26 января 2012

У меня есть список прокси, которые я хочу просмотреть и проверить, чтобы убедиться, что они работают, а также проверить, чтобы убедиться, что им не требуется имя пользователя и пароль.

Однако тестне похоже, работает правильно.Например, у меня есть один прокси-сервер, который, как я знаю, требует имени пользователя и пароля, но он как-то проходит тест.

Вот пример кода, который у меня есть:

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 Ответ

1 голос
/ 27 января 2012

Я полагаю, что запрос к прокси, который разрешает его (так сказать), не следует стандартам HTTP, не возвращая код состояния 407. Вы можете просмотреть это, выполнив анализатор пакетов с помощью чего-то вроде WireShark http://www.wireshark.org/ или используя инструменты отладки браузера, такие как Chromes Developer Tools (Ctrl + Shift + I). Вы также можете проверить, какой код состояния возвращается, посмотрев на значение webRes.StatusCode для этого случая.

...