发布数据并使用PHP Curl检索响应?

时间:2011-02-09 15:37:49

标签: php post curl webservice-client

我很擅长使用网络服务,所以我发现这很令人困惑。

如果我有一个URL我试图发布一些JSON数据,我理解如何使用CURL PHP方法做到这一点。

我想知道的是,如果我这样做,并且URL有某种服务器响应..如何在我的php中获得该响应并使用它在PHP中采取不同的操作?

谢谢!

-Elliot

3 个答案:

答案 0 :(得分:54)

您必须将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变量中提供。

答案 1 :(得分:8)

如果您指的是针对不同HTTP响应代码的不同操作,那么您可以执行以下操作:

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

$httpResponseCode = $responseInfo['http_code'];

答案 2 :(得分:4)

Curl的默认行为是将您返回的数据转储到浏览器中。为了将其捕获到变量,您需要:

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

此外,您可以在此$ txResult上使用parse_string来正确格式化它。