Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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
Php 使用curl获取数据失败_Php_Curl_Amazon Web Services - Fatal编程技术网

Php 使用curl获取数据失败

Php 使用curl获取数据失败,php,curl,amazon-web-services,Php,Curl,Amazon Web Services,我正在尝试使用CURL获取从中返回的数据。但是,我得到的输出是false 以下是我的代码和输出: 代码: $url = "https://airport.api.aero/airport/distance/LOS/ABV?user_key=MY_USER_KEY_GOES_HERE&units=mile"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTR

我正在尝试使用CURL获取从中返回的数据。但是,我得到的输出是
false

以下是我的代码和输出:

代码:

$url = "https://airport.api.aero/airport/distance/LOS/ABV?user_key=MY_USER_KEY_GOES_HERE&units=mile";
$ch  = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);

$data = curl_exec($ch);

var_dump( curl_getinfo($ch) );

curl_close($ch);

var_dump($data);
转储
curl\u getinfo
调用

array (size=26)
'url' => string 'https://airport.api.aero/airport/distance/LOS/ABV?user_key=MY_USER_KEY&units=mile' (length=102)
'content_type' => null
'http_code' => int 0
'header_size' => int 0
'request_size' => int 0
'filetime' => int -1
'ssl_verify_result' => int 0
'redirect_count' => int 0
'total_time' => float 0.702
'namelookup_time' => float 0.249
'connect_time' => float 0.468
'pretransfer_time' => float 0
'size_upload' => float 0
'size_download' => float 0
'speed_download' => float 0
'speed_upload' => float 0
'download_content_length' => float -1
'upload_content_length' => float -1
'starttransfer_time' => float 0
'redirect_time' => float 0
'redirect_url' => string '' (length=0)
'primary_ip' => string '107.22.197.175' (length=14)
'certinfo' => 
   array (size=0)
     empty
'primary_port' => int 443
'local_ip' => string '192.168.1.17' (length=12)
'local_port' => int 53767
转储
$data

boolean false

有什么我做错了吗?

您能通过命令行发出卷曲请求吗


i、 e
curl'https://airport.api.aero/airport/distance/LOS/ABV?user_key=MY_USER_KEY_GOES_HERE&units=mile“

我成功地发送了一个get请求(您应该隐藏您的密钥以防您的问题lol)

试试这个:

$url = "https://airport.api.aero/airport/distance/LOS/ABV";
$qry_str = "?units=mile&user_key=MY_USER_KEY_GOES_HERE";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . $qry_str); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, '3');
curl_setopt($ch, CURLOPT_HEADER, 0);
$content = trim(curl_exec($ch));
curl_close($ch);
print $content;

找到了解决办法。因为url使用的是
https
,所以我需要包括这个选项
curl\u setopt($ch,CURLOPT\u SSL\u VERIFYPEER,FALSE)。成功了。

感谢您指出有关我的钥匙可见的信息。我尝试了你的解决方案,得到了一个空字符串作为输出
curl\u setopt($ch,CURLOPT\u RETURNTRANSFER,true)我也会尝试一些标题选项,比如用户代理和api概述中的“默认响应类型是JSON。要以XML返回响应,请将HTTP标题Accept设置为application/XML。”