我遇到的问题导致YouTube加载菲律宾语而不是英语。到目前为止,过去6个月里一切都运转良好。我的Web服务器托管在美国,所有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认为该地区是菲律宾?
答案 0 :(得分:1)
不确定为什么会这样做,也许他们的算法有一个小故障或者你的服务器发送了一些奇怪的东西。该服务器位于TX,US,并且IP已注册到TX,US块。
您可能需要使用Accept-Language
发送stream_context_create()
标头,并使用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;