[英]Can't get JSON using CURL (php)
我以为我对 PHP/curl 已经掌握得很好,但在这里我不知道是怎么回事?
[GET] https://www.olx.pl可以正常获取,但我无法获取 JSON 请求:[GET] https://www.olx.pl/i2/ajax/ad/getcontact/? id=477486803&type=电话
在浏览器中很好,在 POSTMAN 中很好(关闭所有安全选项)。
我执行的代码:
$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_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
下载了证书并带有/不带有用户代理......
我可以用给定的代码重现您的问题,并通过简单地添加一个Accept
标头来使其工作,如下所示:
$headers = array(
'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0',
'Accept: application/json',
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.