У меня проблема с загрузкой YouTube на филиппинском, а не на английском языке. Все работало нормально в течение последних 6 месяцев до сегодняшнего дня. Мой веб-сервер находится в США, и все IP-адреса указывают на Техас. Я загружаю страницу YouTube с помощью PHP на этом сайте: http://getlikes.us/testget.php
$youtubeURL = "https://www.youtube.com/watch?v=8To-6VIJZRE";
$data = file_get_contents($youtubeURL);
echo $data;
Что приводит к загрузке страницы в филиппинском:
Я не уверен, куда идти отсюда. Что заставляет YouTube думать, что регион — это Филиппины?
Не уверен, почему это происходит, возможно, у их алгоритма есть сбой, или ваш сервер отправляет что-то странное. Этот сервер находится в TX, США, а 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;
Других решений пока нет …