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

Posted

技术标签:

【中文标题】使用 PHP Curl 发布数据并检索响应?【英文标题】:Post data and retrieve the response using PHP Curl? 【发布时间】:2011-06-24 05:43:55 【问题描述】:

我对使用 Web 服务非常陌生,所以我觉得这很令人困惑。

如果我有一个 URL,我正在尝试向其发布一些 JSON 数据,我了解如何使用 CURL php 方法执行此操作。

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

谢谢!

-艾略特

【问题讨论】:

你能展示一些你现在拥有的代码吗? 这个答案对我有用https://***.com/a/34933064/4601322 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

$httpResponseCode = $responseInfo['http_code'];

【讨论】:

【参考方案3】:

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

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

你也可以在这个 $txResult 上使用parse_string 来正确格式化它。

【讨论】:

以上是关于使用 PHP Curl 发布数据并检索响应?的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 和 cURL 操作从另一个站点检索到的图像数据是不是违反了同源策略?

PHP 在php中使用curl以编程方式发布到php网页并检索结果

在php中使用curl以编程方式发布到php网页并检索结果

如何使用 PHP cURL 检索验证码并保存会话?

使用 jquery AJAX 将数据发送到 php 并检索响应

使用 curl 提交/检索表单结果