使用 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网页并检索结果