■57454 / inTopicNo.1) |
HTTPのPOST |
□投稿者/ robrob (1回)-(2011/02/28(Mon) 10:24:44)
|
分類:[.NET 全般]
C#初心者です。よろしくお願いします。
HttpWebRequestでHTTPのPOSTをしています。
chankedで送信したいのですが、うまくいきません。
受信側でデータ部分が受信できていませんでした。
ヘッダーはchunkedにはなっていました。
SendChunkedすると、データを勝手に分割してくれるわけではないのでしょうか?
(調べてみたのですが、.netでそういうことをしている例が見つけられませんでした)
以下、クライアント側で書いたソースです。
static void Main(string[] args)
{
string url = "http://localhost:2296/Default.sample";
//データ部分
string value = "aaa bbb ccc ddd eee …@" +
"xxx yyy zzz";
// リクエストの作成
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.SendChunked = true;
req.ContentType = "application/x-www-form-urlencoded";
req.AllowWriteStreamBuffering = false;
// ポスト・データの書き込み
Stream reqStream = req.GetRequestStream();
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
byte[] bytes = encoding.GetBytes(value);
reqStream.Write(bytes, 0, bytes.Length);
reqStream.Close();
// レスポンスの取得
HttpWebResponse res = (System.Net.HttpWebResponse)req.GetResponse();
Console.WriteLine("HTTP/{0} {1}", res.ProtocolVersion, res.StatusCode);
Console.WriteLine(res.Headers);
Stream resStream = res.GetResponseStream();
StreamReader sr = new StreamReader(resStream, encoding);
string html = sr.ReadToEnd();
Console.WriteLine(html);
sr.Close();
resStream.Close();
}
コメントいただけると助かります。
よろしくお願いします。
|
|