- - PR -
POSTデータが受信できない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-10-05 11:11
はじめまして。
PHPでシステム開発をしております。 PHPから別のサーバーへPOSTでデータを送信しようとしているのですが、 なぜか送信しているはずのデータが受側のサーバーに受信されていないのです。 ちなみにレスポンスコードは200となっており正常終了しています。 何が原因なのでしょうか? よろしければご教授お願いします。 以下ソースコード $post_data = "foo=". urlencode($foo). "&bar=" .urlencode($bar); $sock = fsockopen($host, 80, $errno, $errstr, 30); if (!$sock) die("$errstr ($errno)\n"); fputs($sock, "POST /~ryo/socket/test/send_post_data.php HTTP/1.0\r\n"); fputs($sock, "Accept: */*\r\n"); fputs($sock, "Host: $host\r\n"); fputs($sock, "User-Agent: PHP/".phpversion()."\r\n"); fputs($sock, "Content-type: application/x-www-url-encoded\r\n"); fputs($sock, "Content-length: " . strlen($post_data) . "\r\n"); fputs($sock, "\r\n"); fputs($sock, $post_data); fputs($sock, "\r\n"); 以下略 |
|
投稿日時: 2005-10-06 15:10
このソースは受信側ですか?
_________________ #「やらない」と「出来ない」を混同してはならない |
|
投稿日時: 2005-10-06 17:03
こんにちわ。
Content-typeを「x-www-form-urlencoded」にしたら受信できると思われます。 「x-www-url-encoded」はマイナーなContent-typeなのかもしれません。 |
|
投稿日時: 2005-10-07 08:45
宣伝中止!様、コナン様ご返答ありがとうございます。
このコードは送信側のものです。 受信側では$_POSTで受けとうろとしています。 >Content-typeを「x-www-form-urlencoded」にしたら受信できると思われます。 >「x-www-url-encoded」はマイナーなContent-typeなのかもしれません。 上記の通り試してみたのですが、結果は同じでした。 とりあえず、CURLライブラリを使うことにしたので、目的の動作は達成できました。 しかし、SSL経由では正しく動作しないのですけど また、前出のコードで動かない理由にしっくりきませんが・・・。 ご返答いただいた皆様、ありがとうございました! |
1