dポイントプレゼントキャンペーン実施中!

現在トラックバック機能を作っております。
ソケット関数を利用して、相手サーバーにPOSTで内容を送信しているのですが、
いつもPOST値が送れません。

コードはマニュアルのもの
http://manual.xwd.jp/ref.sockets.html
をそのまま使って試しています。
また、トラックバックの仕様
http://lowlife.jp/yasusii/stories/8.html
こちらも目を通し、下記のリクエストを送信しています。

POST http://www.example.com/example/11\r\n"
Content-Type: application/x-www-form-urlencoded\r\n"
title=Foo+Bar&url=AAAAAA&excerpt=My+Excerpt&blog_name=Foo\r\n\r\n"

その結果、ソケット通信は正常に動き、
レスポンスも返ってくるのですが、POSTができていないようで、いつもエラーがもどってきます。
POSTの練習ということで、ターゲットは、POSTされてきたものを返すようにしていますが、いつもそれが空欄になってもどってくるのです。

PHPの問題なのか、HTTPの仕様を理解していないだけなのかもわからず、違うサーバーで試してみたりもしてみましたが、同様の状態で、行き詰ってしまいました。

どうかご教示いただけたらと思います。

A 回答 (1件)

的外れな回答のような気がしなくもないが・・・・。

送信データを

POST http://www.example.com/example/11 HTTP/1.0\r\n"
Content-Type: application/x-www-form-urlencoded\r\n"
title=Foo+Bar&url=AAAAAA&excerpt=My+Excerpt&blog_name=Foo\r\n\r\n"

という風に、メソッド、パスの後に「HTTP/1.0」をつけてみるとどうだろう・・・・。
つけないと、HTTP/0.9として認識されるような気がする。HTTP/0.9は、一組のCR/LFでリクエストの終了を意味するので、そこでリクエストが終わっているのではなかろうか。

まったく自信ないが・・・・とりあえず試してみてくらはい。
    • good
    • 0
この回答へのお礼

anmochi様 アドバイスありがとうございます。

教えていただいたように、HTTP/1.0 や HTTP/1.1 などをつけて試してみましたが、結果は変わりませんでした。
もう少し調べてみたいと思います。

お礼日時:2005/10/19 15:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!