ホームページ  >  記事  >  バックエンド開発  >  Curl の post メソッドを使用して PHP で渡す文字列値と配列値の違い

Curl の post メソッドを使用して PHP で渡す文字列値と配列値の違い

WBOY
WBOYオリジナル
2016-07-29 09:14:041255ブラウズ

最近、仕事でサードパーティに 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); }); }); Curl の post メソッドを使用して PHP で渡す文字列値と配列値の違い

著作権に関する声明: この記事はブロガーによるオリジナルの記事です。転載する場合は、他者を尊重し、自分自身を尊重してください。 上記では、curl の post メソッドを使用した PHP での文字列と配列の値の転送の違いを、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人にとって役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。