【问题标题】:YouTube thinks my web server's IP is in the Philippines?YouTube 认为我的网络服务器的 IP 在菲律宾?
【发布时间】:2016-02-11 14:16:04
【问题描述】:

我遇到了一个问题,导致 YouTube 以菲律宾语而不是英语加载。直到今天,过去 6 个月里一切都运行良好。我的网络服务器托管在美国,所有 IP 地址都指向德克萨斯州。我正在这个网站上用 PHP 加载 YouTube 页面:http://getlikes.us/testget.php

$youtubeURL = "https://www.youtube.com/watch?v=8To-6VIJZRE";
$data = file_get_contents($youtubeURL);
echo $data;

这会导致页面加载为菲律宾语:

我不确定从这里去哪里。是什么导致 YouTube 认为该地区是菲律宾?

【问题讨论】:

    标签: php youtube webserver hosting region


    【解决方案1】:

    不知道为什么会这样,也许他们的算法有问题,或者你的服务器发送了一些奇怪的东西。该服务器位于美国德克萨斯州,并且 IP 已注册到美国德克萨斯州的区块。

    您可能需要发送带有stream_context_create()Accept-Language 标头并在file_get_contents() 中使用流上下文:

    $opts = array('http'=>array('method'=>"GET",
                                'header'=>"Accept-language: en\r\n"
                               )
                 );
    
    $context = stream_context_create($opts);
    $youtubeURL = "https://www.youtube.com/watch?v=8To-6VIJZRE";
    $data = file_get_contents($youtubeURL, false, $context);
    echo $data;
    

    【讨论】:

    • 感谢您提供这个简单的解决方法。该页面现在以英文加载。 YouTube 仍然建议我切换菲律宾语,但出于我的目的,这无关紧要。确实很奇怪。
    猜你喜欢
    • 2013-07-03
    • 2022-08-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2015-06-12
    • 2022-01-17
    • 2017-10-20
    • 1970-01-01
    相关资源
    最近更新 更多