4

我有一个代理列表,我想循环并测试以确保它们正常工作,并测试以确保它们不需要用户名和密码。

但是,该测试似乎无法正常工作。例如,我有一个代理,我知道它需要用户名和密码才能使用,但它以某种方式通过了测试。

这是我拥有的示例代码:

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 恢复正常并通过 webRes.StatusCode != HttpStatusCode.ProxyAuthenticationRequired 测试。

任何想法或建议表示赞赏。

谢谢!

4

1 回答 1

1

我想通过不返回 407 状态代码来想象允许它通过的代理的请求(可以这么说)不遵循 HTTP 标准。您可以通过使用 WireShark http://www.wireshark.org/之类的数据包嗅探或使用 Chromes 开发人员工具 (Ctrl+Shift+I) 等浏览器调试工具来查看此信息。webRes.StatusCode您还可以通过查看这种情况下的值来检查返回的状态代码。

于 2012-01-26T23:49:59.137 回答