Тестовый прокси, чтобы увидеть, требуется ли аутентификация

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

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

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

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 для этого случая.

Другие вопросы по тегам