このメソッドを使用してPOSTリクエストを送信するのはこれが初めてではなく、問題は発生しませんでした。
public static Stream SendPostRequest(Uri uri, byte[] postData)
{
var request = WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postData.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(postData, 0, postData.Length);
requestStream.Close();
return request.GetResponse().GetResponseStream();
}
request.GetRequestStream()でSystem.Net.WebExceptionが発生します:基になる接続が閉じられました:送信時に予期しないエラーが発生しました。
さらに興味深いことに、一部のマシンでは完全に機能しますが、私のマシン(Windows 7 Beta)と本番サーバー(Windows Server 2008)では機能しません。詳しくは:
動作-WindowsXp - .NET2.0
動作-WindowsXp -
.NET3.5動作-WindowsServer2003-.NET3.0
動作しない-WindowsVista-.NET3.5動作しない-WindowsServer2008-
.NET3.5動作しないt work-Windows 7 Beta-.NET 3.5 SP1
試した:
- ここからたくさんのもの、何も助けにはならなかった。
- WebClientを使用しても、何も変更されていません。
- これらのオプションを微調整しましたが、顕著な違いはありませんでした。
- WireSharkを試しました。非常に優れたツールです。
[解決しました。ちょっと]
言及するのを忘れましたが、Uriはhttpsでした... httpを試してみましたが、うまくいきました。信じられない、早くはやらなかった…
それでも、誰かがこの状況全体に光を当ててくれたら幸いです。