Can';t使用CURL(php)获取JSON
我原以为我对PHP/curl已经很熟悉了,但在这里我不知道到底是怎么回事 可以毫无问题地获取[GET],但我无法获取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
$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是否有效?