首页 > 解决方案 > curl 不返回任何数据 (NULL) PHP

问题描述

PHP 中非常简单的代码,如下所示:

curl_setopt($ch, CURLOPT_URL, "http://[heres url]");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('keycode: [heres keycode]'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);
curl_close($ch);

var_dump(json_decode($output, true));
// echo $output; doesn't work as well

[这里的 url],[这里的 keycode] - url 和 keycode 是正确的

如果我在应用程序中运行相同的脚本(例如,我正在使用名为 Advanced REST Client 的 chrome 应用程序)- 一切正常。

在我的 PHP 脚本中,结果要么为空要么为 NULL。

可能是什么问题呢?谢谢。

标签: phpcurl

解决方案


    $url='https://randomuser.me/api/';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION , 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER,array('keycode: [here value]'));
    curl_setopt($ch, CURLOPT_URL,$url);
    $html = curl_exec($ch);
    var_dump(json_decode($html, true));

推荐阅读