/ / Curl PHP, aby uzyskać zwrot HLS 403 Forbidden - php, curl, hls

Curl PHP, aby uzyskać powrót HLS 403 Forbidden - php, curl, hls

Próbuję pobrać strumień HLS z innej witryny, ale zawsze zwracają 403 Forbidden :( To jest moja funkcja, działa dobrze na hoście lokalnym, ale nie na moim serwerze.

function getPage($url, $referer, $header){
$timeout=30;
$curl = curl_init();
if(strstr($referer,"://")){
curl_setopt ($curl, CURLOPT_REFERER, $referer);
}
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt ($curl, CURLOPT_USERAGENT, sprintf("Mozilla/%d.0",rand(4,5)));
curl_setopt ($curl, CURLOPT_HEADER, $header);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
$html = curl_exec ($curl);
curl_close ($curl);
return $html;
}

echo getPage("http://www.wezatv.com/dooball/assp1.php", "http://www.wezatv.com/", 1);

Czy ktoś może mi pomóc?

Dzięki,

Odpowiedzi:

0 dla odpowiedzi № 1

upewnij się, że adres IP twojego serwera nie jest adresem IP
użyj proxy curl do przetestowania,
Twój link http://www.wezatv.com/dooball/assp1.php działa normalnie na moim serwerze


0 dla odpowiedzi nr 2

Twój kod jest w 100% poprawny, myślę, że problem polega na tym, że twój serwer zablokował żądanie lub serwer docelowy zablokował IP twojego serwera

  • Upewnij się, że serwer nie blokuje połączenia na porcie 80
  • Jeśli nie ma zapory, czy możesz spróbować wykonać polecenie „wget http://www.wezatv.com/dooball/assp1.php„aby zobaczyć, czy może pobrać zawartość? Jeśli nie może również pobrać treści z kodem błędu 403, oznacza to, że serwer wezatv.com blokował każde żądanie z Twojego serwera.

Niektóre serwery tymczasowo blokują każde żądanie, jeśli w krótkim czasie napotka zbyt wiele żądań. Więc jeśli chcesz wydobyć z niego dane, powinieneś zmniejszyć liczbę żądań, na przykład zaimplementować opóźnienie