web-dev-qa-db-ja.com

データを投稿し、PHP Curl?

私はWebサービスを扱うのは非常に新しいので、これはかなりわかりにくいと感じています。

JSONデータを投稿しようとしているURLがある場合、CURL PHPメソッドを使用してこれを行う方法を理解しています。

私が疑問に思っているのは、これを行うと、URLに何らかのサーバー応答が含まれている場合です..PHPでその応答を取得し、それを使用してPHP =それに応じて?

ありがとう!

-エリオット

26
Elliot

CURLOPT_RETURNTRANSFERオプションをtrueに設定する必要があります。

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);

curl_close($ch);

リクエストへの応答は、$ result変数で利用できます。

57

HTTP応答コードごとに異なるアクションを参照している場合、次のようなことができます。

$response = curl_exec($req);
$responseInfo = curl_getinfo($req);

$httpResponseCode = $responseInfo['http_code'];
8
dmcnelis

Curlのデフォルトの動作は、取得したデータをブラウザにダンプするだけです。代わりに変数にキャプチャするには、次のものが必要です。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$txResult = curl_exec($ch);

また、この$ txResultで parse_string を使用して、適切にフォーマットすることもできます。

5
ayush