PHPでCURLを使用して、AJAX POSTを使用してデータを取得するWebサイトの操作を模倣したいと考えています。PHPとJSONを使用したcURL
通常、Firebugを使用してPOSTリクエストを表示しているときは、変数と値のペアが表示されますが、この場合、表示されるのは1つのJSON文字列だけです。例えば。
{"refId":"14536"}
CURLを使用してこのリクエストを模倣する方法はありますか?私はCURLを見てきましたが、CURLOPT_POSTFIELDSパラメータは1つ以上の名前/値で構成されるクエリ文字列でなければなりません。
ここには、1つの名前と値のペアを使用した通常のPOST要求のテストコードがあります。私は上記を行うためにそれを変更したいと思います。
$curlOptions = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
CURLOPT_CONNECTTIMEOUT => 600, // timeout on connect
CURLOPT_TIMEOUT => 600, // timeout on response
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => 'var1=113',
CURLOPT_URL => "http://localhost/t4.php"
);
$curlCh = curl_init();
curl_setopt_array($curlCh, $curlOptions);
$fileContents = curl_exec($curlCh);
$curlErr = curl_errno($curlCh);
$curlErrmsg = curl_error($curlCh);
if($curlErr) echo "CURL ERROR:</b> $curlErr $curlErrmsg";
echo $fileContents; //check worked
curl_close($curlCh);
あなたはすでにロードページ内から非同期にこれをやろうとしていますか? *文字通りajaxを模倣することを意味する場合は、クライアントサイドの対話を作成するためにJavascript AJAXを使用する必要があります。サーバーサイドスクリプトは、ページを更新せずにオンデマンドDOM要素をスワップすることはできません。 – DeaconDesperado
@DeaconDesperado。いいえ、CURLにAJAXと同じデータを返すようにしたいだけです。 – spiderplant0