Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP Curl发布数据并检索响应?_Php_Post_Curl_Webservice Client - Fatal编程技术网

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

使用PHP Curl发布数据并检索响应?,php,post,curl,webservice-client,Php,Post,Curl,Webservice Client,我对使用web服务非常陌生,因此我发现这很令人困惑 如果我有一个URL,我正试图将一些JSON数据发布到其中,我知道如何使用CURL-PHP方法来实现这一点 我想知道的是,如果我这样做,URL会有某种服务器响应。。如何在我的php中获得响应,并使用它在php中相应地采取不同的操作 谢谢 -Elliot您必须将CURLOPT_RETURNTRANSFER选项设置为true $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl

我对使用web服务非常陌生,因此我发现这很令人困惑

如果我有一个URL,我正试图将一些JSON数据发布到其中,我知道如何使用CURL-PHP方法来实现这一点

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

谢谢


-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变量中可用。

如果您针对不同的HTTP响应代码引用不同的操作,则可以执行以下操作:

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

$httpResponseCode = $responseInfo['http_code'];

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

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

您也可以使用$txResult来正确格式化它。

您能展示一下您现在的一些代码吗?这个答案对我很有用