Как это исправить: скручиваемость возврата на Windows против проблемы Android - PullRequest
0 голосов
/ 11 апреля 2019

Я использую curl php на Windows и Android. на окнах Версия PHP 5.6.39 / curl 7.59.0 на андроид Версия PHP 5.6.35 / curl 7.34.0

Я использую php curl для извлечения ссылки на видео с сайта. Мой код:

$ua=$_SERVER['HTTP_USER_AGENT'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $l);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION  ,1);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$html = curl_exec($ch);
curl_close($ch);

как результат у меня

$video_link_windows="http://....../video.mp4";
$video_link_android="http://...../video.mp4";

Это работало до 2 недель назад. Теперь ссылка, созданная в Windows, работает как на Windows, так и на Android, но тот, который генерируется на Android больше не работает. Мы уже сталкивались с этой проблемой на 3 сайтах.

Я попытался изменить «пользовательский агент», я добавил «cookie», но, похоже, ничего не работает. Я пытался без

curl_setopt($ ch, CURLOPT_FOLLOWLOCATION, 1); 

или добавить заголовок curl_setopt

curl_setopt($ ch, CURLOPT_HTTPHEADER, $head)

Сгенерированные ссылки выглядят идентичными, но не работают.

НО, если я использую вместо curl, я использую file_get_contents

$html=file_get_contents($l);

все приходит в норму.

Что может быть не так или что я должен добавить в код curl?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...