
Piszę skrypt do obsługi radiostacji internetowych. Skrypt musi łączyć się z serwerem / serwerami shoutcast w celu pobierania danych, wywalania pilota itp.
Pięknego, wiosennego dnia - wczoraj, admin firmy gdzie mam hosting wpadł na genialny pomysł zablokowania fsockopen() o co jeszcze się będę kłucił, bo, między innymi, ze względu na tę funkcję wybrałem ich hosting. Pomyślałem, że tak czy siak, dobrze aby skrypt miał alternatywny sposób działania = Over Curl.
Normalnie ze stron pobieram dane bez problemu, schodki zaczynają się kiedy próbuje zmusić do pobrania z innego portu. Próbowałem na takie sposoby:
<?php $PageUrl = "94.23.245.113:8000/7.html"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $PageUrl); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt( $curl, CURLOPT_RETURNTRANSFER,1); curl_setopt( $curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" ); curl_exec( $curl ); curl_close( $curl ); ?>
oraz
<?php $PageUrl = "94.23.245.113/7.html"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $PageUrl); curl_setopt($curl, CURLOPT_PORT, 8000); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt( $curl, CURLOPT_RETURNTRANSFER,1); curl_setopt( $curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" ); curl_exec( $curl ); curl_close( $curl ); ?>
Cały czas nic nie zwraca, curl_getinfo() podaje tylko:
Array ( [url] => http://94.23.245.113:8000/7.html [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0 [namelookup_time] => 0.000247 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => 0 [upload_content_length] => 0 [starttransfer_time] => 0 [redirect_time] => 0 )
Jakieś sugestie?