最近、仕事でサードパーティに Java バージョンのインターフェイスをリクエストする必要があり、最初は配列を使用してパラメータを渡していたのですが、インターフェイスが常にデバッグできないことがわかりました。渡されたパラメータが空であるとのメッセージが表示されたので、長い間悩んだ結果、文字列パラメータを渡す方法を試してみることにしました。これにより、今回は予想外にデバッグが成功しました。両者の違い。
ローカルテストコードは次のとおりです:
curl.php
<code><span><span><?php </span><span><span>function</span><span>curl_post</span><span>(<span>$url</span>, <span>$data</span>)</span>{</span><span>$ch</span> = curl_init(); curl_setopt(<span>$ch</span>, CURLOPT_URL, <span>$url</span>); curl_setopt(<span>$ch</span>, CURLOPT_RETURNTRANSFER, <span>1</span>); curl_setopt(<span>$ch</span>, CURLOPT_POST, <span>1</span>); curl_setopt(<span>$ch</span>, CURLOPT_POSTFIELDS, <span>$data</span>); <span>$output</span> = curl_exec(<span>$ch</span>); curl_close(<span>$ch</span>); <span>return</span><span>$output</span>; } <span>$params</span> = <span>array</span>(); <span>$params</span>[<span>'username'</span>] = <span>'ben'</span>; <span>$params</span>[<span>'password'</span>] = <span>'lalala'</span>; print_r(curl_post(<span>'http://localhost/curl/post.php'</span>, <span>$params</span>)); <span>$params</span> = <span>array</span>(); <span>$params</span>[<span>'username'</span>] = urlencode(<span>'ben'</span>); <span>$params</span>[<span>'password'</span>] = urlencode(<span>'lalala'</span>); <span>$paramsStr</span> = <span>"username={$params['username']}&password={$params['password']}"</span>; print_r(curl_post(<span>'http://localhost/curl/post.php'</span>, <span>$paramsStr</span>)); <span>?></span></span></span></code>
post.php
<code><span><?php </span><span>echo</span><span>"-------php://input-----<br>"</span>; var_dump(@file_get_contents(<span>'php://input'</span>)); <span>echo</span><span>"-------post-----<br>"</span>; var_dump(<span>$_POST</span>); <span>echo</span><span>"-------server-----<br>"</span>; var_dump(<span>$_SERVER</span>);</span></code>
の実行結果は、以下のスクリーンショットを参照できます。
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i
').text(i));
};
$numbering.fadeIn(1700);
});
});