file_get_contents()函数“未能打开流:网络不可达”有效链接错误(file_get_

2019-09-30 14:41发布

有一个在PHP中,不知怎的,失败在我的情况下工作使用YouTube API的一个非常简单的例子,我无法找到一个明确的解决方案。

我希望将YouTube API没有任何包装,由我自己,得到的视频数据。 下面的search:list查询工作完美,当我尝试通过浏览器中访问它(如链接),但在PHP中,我得到这个错误,当我尝试相同。

        $apikey_YT = <my API key>;
        $ytrequrl = "https://www.googleapis.com/youtube/v3/search?".
                "part=snippet".
                "&maxResults=50".
                "&q=doom".
                "&relatedToVideoId=h8j2zj-A5tE".
                "&type=video".
                "&key=${apikey_YT}";

        $result = file_get_contents($ytrequrl);
        var_dump($result);

潜在的问题是URL编码,或允许allow-url-fopen ,但也似乎在我的情况,以帮助:前者居然给了一个新的错误消息: No such file or directory

我能做什么?

Answer 1:

试试这个样子。 可能是您的格式。 这对我的作品。

$ytrequrl = 'https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&q=doom&relatedToVideoId=h8j2zj-A5tE&type=video&key='.$apikey_YT;

$info= file_get_contents($ytrequrl);
$info= json_decode($info, true);

print("<pre>".print_r($info,true)."</pre>");


文章来源: file_get_contents() “failed to open stream: Network is unreachable” error on valid link