cURL无法解析Instagram API的地址

时间:2015-11-29 21:57:43

标签: php json api curl instagram-api

编辑:事实证明这完全是因为代理服务器。 我在代理服务器上使用互联网并且curl没有设置为使用代理服务器 我不得不将这些行添加到我的PHP代码

 $proxy = '192.168.100.13:8080';
 curl_setopt($ch, CURLOPT_PROXY, $proxy);

如果您想在使用终端使用curl时使用代理

curl --proxy 192.168.100.13:8080 google.com

嘿伙计这是我第一次使用api,我正试图从instagram api获取信息而且卡住了。 我正在尝试连接instagram api以获取用户信息 CURL让我无法解决错误。 如果我在浏览器中运行它,链接工作正常,它显示了json。 我已经尝试过这个代码与其他URL,但结果相同。 我想从网址中提取JSON。

我的PHP代码是:

<?php 

error_reporting(E_ALL);

$_h = curl_init(); 
curl_setopt($_h, CURLOPT_HEADER, 1); 
curl_setopt($_h, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($_h, CURLOPT_HTTPGET, 1); 
curl_setopt($_h, CURLOPT_URL, 'https://api.instagram.com/v1/users/self/?access_token=ACCESS_TOKEN' ); 
curl_setopt($_h, CURLOPT_DNS_USE_GLOBAL_CACHE, false ); 
curl_setopt($_h, CURLOPT_DNS_CACHE_TIMEOUT, 2 ); 
echo '<br>';echo '<br>';

var_dump(curl_exec($_h)); echo '<br>';echo '<br>';

var_dump(curl_getinfo($_h)); echo '<br>';echo '<br>';
var_dump(curl_error($_h)); 


?>

在运行时我得到了

bool(false) 

array(26) 
{ 
["url"]=> string(102) "https://api.instagram.com/v1/users/self/?access_token=ACCESS_TOKEN" 
["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) 
["namelookup_time"]=> float(0) 
["connect_time"]=> float(0) 
["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(0) 
"" ["primary_ip"]=> string(0) "" 
   ["certinfo"]=> array(0) { } 
   ["primary_port"]=> int(0) 
   ["local_ip"]=> string(0) "" 
   ["local_port"]=> int(0) } 

string(41) "Couldn't resolve host 'api.instagram.com'"

我也尝试过使用get_file_contents();

我使用的代码是

$result = file_get_contents('https://api.instagram.com/v1/users/self/?access_token=ACCESS_TOKEN')
var_dump(json_decode($result, true));

这会给出错误

PHP Warning:  file_get_contents(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known in /Applications/MAMP/htdocs

我在php.ini文件中设置了allow_url_fopen = 1

我在这里做错了什么帮助?

1 个答案:

答案 0 :(得分:0)

也许你可以在作曲家instagram api的帮助下尝试一下: https://github.com/cosenary/Instagram-PHP-API

也许你会从中受益: