詳細に注意を払わずにcurlを使用してサーバーにデータを送信すると、次の結果が得られる場合があります。理想的な結果ではありません:
ただし、代わりに http_build_query($post_data) を使用する場合$post_data がこの php スクリプトにデータを送信すると、上記とは異なる結果が得られます。これは理想的な結果です。
上記の例からわかるように、curl を使用し、パラメーターが data の場合、データを送信するときにサーバーへの http ヘッダーは content_type: application/x-www-form-urlencoded を送信します。これは、通常の Web ページでフォームを送信するときにブラウザーによって送信されるヘッダーです。また、multipart/form-data は、これがファイルのアップロードに使用されるフォームであることを認識しています。境界区切り文字を含めると、多くのバイトが追加されます。 |