PHP CURL POST エラーの解決策: まず、エラーのある PHP コード ファイルを開き、次に PHP コード内の "$data" を配列から "urlencode()" 関数によってエンコードされたデータに変更します。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン
こんなときの問題の解決方法phpcurlpost メソッド
には次のシナリオがあります:
POST モードで a.php 内の b.php にデータを送信しますが、b.php はデータを受信できず、CURL操作 再び成功を示しますが、これは非常に奇妙です。 「配列を CURLOPT_POSTFIELDS に渡すと、cURL はデータを multipart/form-data にエンコードしますが、URL エンコードされた文字列を渡すと、データは application/x-www-form-urlencoded にエンコードされる」ことがわかります。 。
CURL に詳しくない人がプログラムを作成する場合、次のようなコードがよく使用されます。
コード例:
<?php $data = array( 'Title' => $title, 'Content' => $content, 'ComeFrom' => $comefrom ); curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false); curl_setopt($ch, CURLOPT_URL, 'http://example.com/b.php'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch);
送信されるデータを次のように変換します。配列 フォームは POST 経由で送信されるため、CURL は「間違った」エンコーディング「multipart/form-data」を使用します。これは、「