我很擅长使用网络服务,所以我发现这很令人困惑。
如果我有一个URL我试图发布一些JSON数据,我理解如何使用CURL PHP方法做到这一点。
我想知道的是,如果我这样做,并且URL有某种服务器响应..如何在我的php中获得该响应并使用它在PHP中采取不同的操作?
谢谢!
-Elliot
答案 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来正确格式化它。