C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.57454 の関連記事表示

<< 0 >>
■57454  HTTPのPOST
□投稿者/ robrob -(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();
    }

    コメントいただけると助かります。
    よろしくお願いします。

親記事 /過去ログ96より / 関連記事表示
削除チェック/

■57455  Re[1]: HTTPのPOST
□投稿者/ shu -(2011/02/28(Mon) 10:33:18)
    No57454 (robrob さん) に返信

    (1)req.SendChunked = trueとしない場合はうまくいくのでしょうか?
    (2)受信側はちゃんと対応されているのでしょうか?
記事No.57454 のレス /過去ログ96より / 関連記事表示
削除チェック/

■57457  Re[2]: HTTPのPOST
□投稿者/ robrob -(2011/02/28(Mon) 10:39:33)
    No57455 (shu さん) に返信
    SendChunked、AllowWriteStreamBufferingは
    デフォルトのままでContent-Lengthを指定していると
    正常に動作しています。

    受信側としてはまだ作り込んではいなくて
    データが受信できているか確認したいのですが、
    デバッガで見てみてもそれらしきデータははいってきてませんでした。

    よろしくお願いします。
記事No.57454 のレス /過去ログ96より / 関連記事表示
削除チェック/

■57479  Re[3]: HTTPのPOST
□投稿者/ shu -(2011/03/01(Tue) 08:32:19)
    No57457 (robrob さん) に返信

    > 受信側としてはまだ作り込んではいなくて
    > データが受信できているか確認したいのですが、
    > デバッガで見てみてもそれらしきデータははいってきてませんでした。
    受信側がchunk対応してないとデータ見れないと思います。
記事No.57454 のレス /過去ログ96より / 関連記事表示
削除チェック/

■57483  Re[4]: HTTPのPOST
□投稿者/ robrob -(2011/03/01(Tue) 10:41:55)
    No57479 (shu さん) に返信
    > 受信側がchunk対応してないとデータ見れないと思います。

    コメントありがとうございます。
    受信側は IIS 6.0上のASP.netなのですが、
    受信側の対応として、例えばどのようなものが
    考えられますでしょうか。

    よろしくお願いします。
記事No.57454 のレス /過去ログ96より / 関連記事表示
削除チェック/

■57501  Re[5]: HTTPのPOST
□投稿者/ shu -(2011/03/01(Tue) 22:07:05)
    No57483 (robrob さん) に返信
    > ■No57479 (shu さん) に返信
    >>受信側がchunk対応してないとデータ見れないと思います。
    >
    > コメントありがとうございます。
    > 受信側は IIS 6.0上のASP.netなのですが、
    > 受信側の対応として、例えばどのようなものが
    > 考えられますでしょうか。
    >
    > よろしくお願いします。
    >
    その組み合わせならHttpResponseを使用すれば出来そうな感じですが、
    なんかChunkの場合、Closeするとデータがなくなってしまうっぽいのがここに載ってました。

    http://social.msdn.microsoft.com/Forums/ja-JP/aspnetja/thread/067d7e39-c922-4529-b5a1-ebc32a22409b

記事No.57454 のレス /過去ログ96より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -