PHP CURL从CURL for Linux返回不同的结果

时间:2014-10-30 17:58:07

标签: php curl

我试图弄清楚为什么调用网络服务并不会返回我需要的结果。

使用CURL for Linux with

curl -i -H "Accept: application/json" "https://www.thisapi.com/stuff/?status=something" > myfile.txt

我得到了正确的结果,一个对象开始:{" object_count":4,...

将PHP与libcurl和

一起使用
$curl = curl_init();
$hdr[] = 'Content-type: application/json';
$hdr[] = 'Accept: application/json';

curl_setopt($curl, CURLOPT_HTTPHEADER, $hdr);

$url = 'https://www.thisapi.com/stuff/?status=something';
curl_setopt($curl, CURLOPT_URL, $url);

//return the data
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$results = curl_exec($curl);

忽略网址变量" status"我得到{" object_count":8 ...

任何人都可以帮我解决这两个请求不相同的方式,以及为什么他们没有返回相同的结果?

1 个答案:

答案 0 :(得分:0)

在第二种情况下,您有一个额外的标题 - Content-type: application/json。也许这会导致API端点以不同的方式响应,忽略URL中的参数,因为它期望JSON格式的东西。