浏览器成功打开链接,但未打开curl和file_get_contents

时间:2019-02-03 12:07:54

标签: php curl file-get-contents

我正在尝试使用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”。

1 个答案:

答案 0 :(得分:1)

您需要启用cookie支持(例如CURLOPT_COOKIEFILE)并登录,然后才能访问https://www.instagram.com/nasa/?__a=1,而且curl代码从不尝试登录。

在这里您可以看到如何使用PHP登录Instagram:https://stackoverflow.com/a/41684531/1067003