Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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
Can';t使用CURL(php)获取JSON_Php_Json_Curl - Fatal编程技术网

Can';t使用CURL(php)获取JSON

Can';t使用CURL(php)获取JSON,php,json,curl,Php,Json,Curl,我原以为我对PHP/curl已经很熟悉了,但在这里我不知道到底是怎么回事 可以毫无问题地获取[GET],但我无法获取JSON请求: [获取] 在浏览器中一切正常,在邮递员中一切正常(所有安全选项关闭) 我执行的代码是: $urlForTel = "https://www.olx.pl/i2/ajax/ad/getcontact/?id=477486803&type=phone"; $headers = array( 'User-Agent: Mozilla/5.0 (Window

我原以为我对PHP/curl已经很熟悉了,但在这里我不知道到底是怎么回事

可以毫无问题地获取[GET],但我无法获取JSON请求: [获取]

在浏览器中一切正常,在邮递员中一切正常(所有安全选项关闭)

我执行的代码是:

$urlForTel = "https://www.olx.pl/i2/ajax/ad/getcontact/?id=477486803&type=phone";
$headers = array(
    'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0'
);
$ch = curl_init();
// curl_setopt($ch, CURLOPT_PROXY, $proxy_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL, $urlForTel);
$result=curl_exec($ch);
代码只是停止,不前进。。。正如您所见,我尝试了许多不同的选项(证书、代理、带标题和不带标题)。但是,当您更改参数中ID的最后一位(请求不存在的资产)时,它会正确返回HTML

我试过了
curl\u setopt($ch,CURLOPT\u SSL\u VERIFYPEER,true)
下载了cert,也有/没有useragent…

我可以用给定的代码重现您的问题,并通过简单地添加一个
Accept
标题使其正常工作,如下所示:

$headers=数组(
'用户代理:Mozilla/5.0(Windows NT 6.1;Win64;x64;rv:62.0)Gecko/20100101 Firefox/62.0',
'接受:应用程序/json',
);

Add查看请求是否返回任何错误。行为保持不变。。。stdout上什么也没发生。我在
curl\u exec
之后添加了
echo curl\u error($ch)
。您的php错误日志中有什么内容吗?不幸的是,没有。。。在php配置中使用CURL是否有效?