#php #android #windows #curl #video
#php #Android #Windows #curl #Видео
Вопрос:
Я использую curl php в Windows и Android. на Windows PHP версии 5.6.39 / curl 7.59.0 на Android 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?
Комментарии:
1. Не выключайте
CURLOPT_SSL_VERIFYPEER
2. Если
file_get_contents
работает, почему бы вам просто не использовать его? Это, безусловно, чище.3. true или false, результат тот же. curl возвращает код, но результат отличается. Я хочу использовать curl, потому что он быстрее, и, более того, я хочу понять, что не так.