Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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中以浏览器的形式从Instagram URL获取HTML/JSON?_Php_Url_Browser_File Get Contents_Instagram Api - Fatal编程技术网

如何在php中以浏览器的形式从Instagram URL获取HTML/JSON?

如何在php中以浏览器的形式从Instagram URL获取HTML/JSON?,php,url,browser,file-get-contents,instagram-api,Php,Url,Browser,File Get Contents,Instagram Api,正如你所知,instagram暂停了他的API,但对于我的应用程序,我使用以下代码获取instagram页面帖子的JSON: ini_set("allow_url_fopen", 1); $urlvars = urlencode('{"id":"'.$user_id.'","first":12,"after":"'.$end_cursor.'"}'); $url = "https://www.instagram.com/graphql/query/?query_hash={$__query_ha

正如你所知,instagram暂停了他的API,但对于我的应用程序,我使用以下代码获取instagram页面帖子的JSON:

ini_set("allow_url_fopen", 1);
$urlvars = urlencode('{"id":"'.$user_id.'","first":12,"after":"'.$end_cursor.'"}');
$url = "https://www.instagram.com/graphql/query/?query_hash={$__query_hash}&variables={$urlvars}"; 
$context = stream_context_create(
    array(
        "http" => array(
            "header" => "User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0"
        )
    )
);  
$json = file_get_contents($url,false, $context);
但它显示了以下错误:

Warning: file_get_contents(https://www.instagram.com/graphql/query/?query_hash=42323d64886122307be10013ad2dcc44&variables=%7B%22id%22%3A%22589638973%22%2C%22first%22%3A12%2C%22after%22%3A%22AQCjxNvHU5N8KvembUhB58LBSGbZJ2q-D5aPZox2O8Mk2W5y_1eKUvvNnloRTjqyyrYNNyr1kDtpJWTZqFb_U5sUMKvFtS_bPzqVtiqh3Y7V4A%22%7D): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in C:\wamp\www\smprogram\instagram_api\get_page\index.php on line 49
当我打开
https://www.instagram.com/graphql/query/?query_hash=42323d64886122307be10013ad2dcc44&变量=%7B%22id%22%3A%22589638973%22%2C%22%3A12%2C%22%3A%22AQCjxNvHU5N8KvembUhB58LBSGbZJ2q-D5aPZox2O8Mk2W5y\u 1ekuvnnlortqyyrynny1kdtpjwtzqfb\u u5sumkvts\u bPzqVtiqh3Y7V4A%22%7D后通过我的浏览器,它工作正常。

如何在php上修复它

当我在chrome中打开URL时,我得到一个403错误请求。您是否可以在浏览器中登录instagram?我想是的,这可能就是您从URL接收数据的原因。我认为你的URL必须使用他们的API来更改。您可能需要一个访问令牌等(我只是猜测tho)@b101,是的,您是对的。我已登录。那么您可能只能看到浏览器中的内容,因为您已登录。要解决您的问题,您必须更改URL,并按照纪录片中描述的方式查询Instagram API。你需要一个访问令牌什么的。看看文档,应该很简单