2013-08-01 64 views
0

我使用捲曲從filestube.com抓取網頁內容:捲曲不獲取內容

$link = "http://filestube.com/93TtL7UrDSvedJF7rSR1sE"; 
    $options = array( 
     CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_HEADER   => false, 
    // CURLOPT_FOLLOWLOCATION => true, 
     CURLOPT_ENCODING  => "", 
     CURLOPT_USERAGENT  => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)", 
     CURLOPT_AUTOREFERER => true, 
     CURLOPT_CONNECTTIMEOUT => 120,  
     CURLOPT_TIMEOUT  => 120, 
     CURLOPT_MAXREDIRS  => 10, 
    ); 

    $ch = curl_init(urlencode($link)); 
    curl_setopt_array($ch, $options); 
    $content = curl_exec($ch); 
    $header = curl_getinfo($ch); 
    curl_close($ch); 
    print_r($header); 
    echo $content; 

但輸出是:

Array 
(
    [url] => HTTP://http%3A%2F%2Ffilestube.com%2F93TtL7UrDSvedJF7rSR1sE%3Cbr+%2F%3E 
    [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 
    [connect_time] => 0 
    [pretransfer_time] => 0 
    [size_upload] => 0 
    [size_download] => 0 
    [speed_download] => 0 
    [speed_upload] => 0 
    [download_content_length] => -1 
    [upload_content_length] => -1 
    [starttransfer_time] => 0 
    [redirect_time] => 0 
    [certinfo] => Array 
     (
     ) 

    [redirect_url] => 
) 

而且沒有urlencodefile_get_contents呼應400 Bad Request錯誤。

任何幫助表示讚賞。

更新

當註釋掉註釋行給出了這樣的錯誤:

Warning: curl_setopt_array() [function.curl-setopt-array]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set 

沒有urlencode輸出爲:

Array 
(
    [url] => http://www.filestube.com/93TtL7UrDSvedJF7rSR1sE<br /> 
    [content_type] => text/html 
    [http_code] => 400 
    [header_size] => 97 
    [request_size] => 181 
    [filetime] => -1 
    [ssl_verify_result] => 0 
    [redirect_count] => 0 
    [total_time] => 0.027514 
    [namelookup_time] => 0.000785 
    [connect_time] => 0.01413 
    [pretransfer_time] => 0.014176 
    [size_upload] => 0 
    [size_download] => 90 
    [speed_download] => 3271 
    [speed_upload] => 0 
    [download_content_length] => -1 
    [upload_content_length] => 0 
    [starttransfer_time] => 0.027489 
    [redirect_time] => 0 
    [certinfo] => Array 
     (
     ) 

    [redirect_url] => 
) 
<html><body><h1>400 Bad request</h1> 
Your browser sent an invalid request. 
</body></html> 
+0

你測試,以確保代碼工作,定期,靜態網頁此設置爲true,那它肯定是什麼特別的filestube? – zebediah49

+0

在命令行中執行此操作的結果是400'curl -I'http://www.filestube.com/93TtL7UrDSvedJF7rSR1sE
'',在URL末尾刪除中斷 –

回答

3

你的URL從

http://filestube.com/93TtL7UrDSvedJF7rSR1sE 
重定向

http://www.filestube.com/93TtL7UrDSvedJF7rSR1sE 

與WWW試試吧。

或者通過取消註釋它

CURLOPT_FOLLOWLOCATION => true, 
+0

添加'www'不生成任何更改!該行被評論,因爲它已被禁用。 – revo

+0

重新註冊以啓用以下重定向。要查看非www版本是否工作?如果你改變'$ ch = curl_init(urlencode($ link));'到這個'$ ch = curl_init($ link);' –

+0

請參閱我的更新,那麼'headers'的輸出是什麼? – revo