4

ループして、それらが機能していることを確認するためにテストし、ユーザー名とパスワードを必要としないことを確認するためにテストしたいプロキシのリストがあります。

ただし、テストは正しく機能していないようです。たとえば、使用するためにユーザー名とパスワードが必要であることがわかっているプロキシが1つありますが、それはどういうわけかテストを通過しています。

これが私が持っているサンプルコードです:

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テストに合格します。

任意のアイデアや提案をいただければ幸いです。

ありがとう!

4

1 に答える 1

1

(いわば)通過を許可しているプロキシへのリクエストは、407ステータスコードを返さないことにより、HTTP標準に従っていないと思います。これを表示するには、WireShark http://www.wireshark.org/などでパケット スニフを実行するか、Chrome 開発者ツール (Ctrl+Shift+I) などのブラウザ デバッグ ツールを使用します。この場合の の値を見て、どのステータス コードが返されているかを確認することもできますwebRes.StatusCode

于 2012-01-26T23:49:59.137 に答える