我正在尝试使用Instagram API。当我在浏览器中打开以下链接时,完全可以,您可以单击它并查看json响应: https://www.instagram.com/nasa/?__a=1
当我尝试通过file_get_contents()
打开相同的URL时,遇到403禁止错误。
所以我尝试使用curl。这是我的代码:
$url = "https://www.instagram.com/nasa/?__a=1";
$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
var_dump($result);
问题是$result
是一个空字符串。当我尝试使用file_get_contents获取内容时,遇到403禁止错误,当我尝试使用curl获取内容时,它返回一个空字符串。
某些身体可以帮助吗? Tnx。
修改
我已登录,但浏览器未显示“ 403 Forbidden”。
答案 0 :(得分:1)
您需要启用cookie支持(例如CURLOPT_COOKIEFILE)并登录,然后才能访问https://www.instagram.com/nasa/?__a=1,而且curl代码从不尝试登录。
在这里您可以看到如何使用PHP登录Instagram:https://stackoverflow.com/a/41684531/1067003