JSONデータを含むPOSTをサーバーに送信するための次のコマンドを作成しました。サーバーはリクエストをリダイレクトし、同じデータで GET を送信する必要があります。
curl -L -i -XPOST \
-d 'id=105' \
-d 'json={"orderBy":0,"maxResults":50}' http://mysite.com/ctlClient/
私は応答を受け取ります:
HTTP/1.1 302 Found
Date: Thu, 04 Jul 2013 13:12:08 GMT
Server: Apache
X-Powered-By: PHP/5.3.19
Set-Cookie: PHPSESSID=1hn0g8d7gtfl4nghjvab63btmk2; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
location: http://mysite.com/fwf/online/
Content-Length: 0
Connection: close
Content-Type: text/html
HTTP/1.1 200 OK
Date: Thu, 04 Jul 2013 13:12:08 GMT
Server: Apache
X-Powered-By: PHP/5.3.19
Set-Cookie: PHPSESSID=16akc7kdcoet71ipjflk9o9cnm5; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 1
Connection: close
Content-Type: text/html
アクセスログから私は見る:
"POST /ctlClient/ HTTP/1.1" 302 - "-" "Apache-HttpClient/4.1 (java 1.5)"
"GET /fwf/online/ HTTP/1.1" 200 1 "-" "Apache-HttpClient/4.1 (java 1.5)"
ここまでは順調ですね、
問題は、GET
投稿に追加されたデータを受信しないことです。リダイレクト中に私のデータが何らかの形で却下されたように聞こえます。Android クライアントからは機能するため、サーバー側の問題ではありません。
POST データを GET リクエストに渡すにはどうすればよいですか?
どうもありがとうございました、
[編集]
@nif は 7.28.0 にアップグレードCURL
することを提案しました。
それでも同じ問題が発生します
[情報]
初めて行くhttp://mysite.com/ctlClient/index.php
場所:
case 105: // id=105
session_unset();
session_start();
foreach($_POST as $key => $value){$_SESSION[$key] = $value;}
ctlGotoSameDomain("/fwf/online/"); // <- aka redirect
return true;
リダイレクト後、私はそこに行き/fwf/online/index.php
、そこに私の要求は空です:
public function __construct() {
$this->json = isset($_SESSION['json']) ? $_SESSION['json'] : null;
msqLogFile("fwf/post", Array('post' => 'Request: '.$this->json));
}
http://mysite.com/ctlClient/index.php
2 つのパラメーターを適切に取得する:id
およびjson