| 分類:[.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(); }
コメントいただけると助かります。 よろしくお願いします。
|