0

次のコードがあります。

        HttpWebRequest request = createRequest("http://somesite", true);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.Headers.Add("Accept-Encoding", "gzip, deflate");
        request.Proxy = new WebProxy("what:ever");

        string postData = "my data";
        byte[] byteArray = Encoding.UTF8.GetBytes(postData);
        request.ContentLength = byteArray.Length;

        using (var dataStream = request.GetRequestStream())
        {
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Flush();
        }

初回の CLR 例外でブレークするように VS に要求すると、request.GetRequestStream() は内部的に NullReferenceException をスローし、次に System.Net.WebException (タイムアウト) 例外をコードにスローします。

プロキシを無効にすると(直接動作します)、動作します。

自宅のコンピューターでは問題なく動作しますが、ここでは動作しません (賃貸アパート、別のインターネット接続)。

両方のマシンで同じ設定を使用しています。何も見つかりませんでした。

ありがとう。

4

1 に答える 1

0

まあ、 WebClient.UploadData を使用するように実装を変更すると、うまくいくようです。ありがとうございました。

于 2012-07-09T05:12:38.010 に答える