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

Ell*_*iot 26 php post curl webservice-client

我很擅长使用Web服务,所以我发现这很令人困惑.

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

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

谢谢!

-Elliot

And*_*ázi 58

您必须将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);
Run Code Online (Sandbox Code Playgroud)

您的请求的响应将在$ result变量中提供.


dmc*_*lis 8

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

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

$httpResponseCode = $responseInfo['http_code'];
Run Code Online (Sandbox Code Playgroud)


ayu*_*ush 5

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

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$txResult = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

您也可以在$ txResult上使用parse_string对其进行正确格式化。