2012-11-06 30 views
6

ja nie dostaję wyjście curl na prawidłowy adres URL, próbka $ url = http://linkedin.com/pub/4/b29/8a0PHP CURL - Puste wyjście bez błędu

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL,   "$url"); 
curl_setopt($ch, CURLOPT_TIMEOUT,  60); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 

$referer = WebCrawl::getRandomURL(); 
curl_setopt($ch, CURLOPT_REFERER,  $referer); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false); 
curl_setopt($ch, CURLOPT_COOKIEJAR,  "cookie.txt"); 

curl_setopt($ch, CURLOPT_USERAGENT,  "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 

$body = curl_exec($ch); 
$error_no = curl_errno($ch); 
+0

Czy rzeczywiście wyprowadzania '$ error_no' w pewnym momencie? –

+0

został dodany, aby sprawdzić każdy błąd – Muzaffer

+0

Tak, ale czy faktycznie * wyprowadzasz * wynik gdzieś? Z powyższym kodem, nie zobaczysz błędów –

Odpowiedz

1
function getURL($url){ 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
     curl_setopt($ch, CURLOPT_HEADER, 0); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     $tmp = curl_exec($ch); 
     curl_close($ch); 
     if ($tmp != false){ 
      return $tmp; 
     } 
    } 
+5

Miałem podobny problem. dzięki, twój kod działa dobrze. ale czy możesz wyjaśnić, co jest nie tak w kodzie podanym w pytaniu? i dlaczego twój kod działa dobrze? – user1518659

+0

Powinieneś wyjaśnić powód –

+0

'curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, 1);' przekierowuje cię po zawinięciu. Tak jak zapomniałeś o końcowym "/" w adresie URL. –