2011-06-16 14 views
0

我剛開始學習cURL,現在我只是嘗試所有類型的東西來習慣cURL給我的選項。這裏有一個簡單的腳本,我用它來連接和從當前站點檢索數據簡單的cURL腳本不會檢索數據

<?php 

     $ch=curl_init(); 
     $header[] = "Cache-Control: max-age=0"; 
     $header[] = "Connection: keep-alive"; 
     $header[] = "Keep-Alive: 300"; 
     $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 
     $header[] = "Accept-Language: en-us,en;q=0.5"; 
     $header[] = "Pragma: "; // browsers keep this blank. 
     curl_setopt($ch, CURLOPT_URL, "http://img2.somesite.net/bitbucket/"); 
     curl_setopt($ch, CURLOPT_HEADER, $header); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     $a=curl_exec($ch); 
     curl_close($ch); 
     echo $a; 

?> 

我想獲得存儲在那裏的圖像,但顯然我錯過something.I'm不知道應該如何done.When你寫http://img2.somesite.net/bitbucket/pic.jpg圖像是loaded.I希望獲取那裏所有文件的名稱,或者我應該觸發一個命令,它將下載圖像,然後在PC上檢查它們......我不知道這是否可能與cURL和hwo可以完成? 此外,當我離開它

http://somesite.net/ 

我得到的資源後,所以basicly這個工程......

感謝

Leron

+0

的file_get_contents()? – dynamic 2011-06-16 12:33:49

+0

OPS,我想通過cURL – Leron 2011-06-16 12:39:09

+0

這樣做嗎? ...... – dynamic 2011-06-16 12:53:52

回答

1

嘗試設置一個用戶代理,如一些網站阻止沒有用戶代理的請求。

此外,請下載適用於Firefox的Tamper Data,並在您從瀏覽器啓動下載時查看發送到服務器的標題。模仿curl中所有的頭文件,這將做到這一點。

多數民衆贊成我是如何做到這一點。

+0

不錯,仍然有辦法從一個工作cURL腳本,但希望這個程序將幫助 – Leron 2011-06-16 13:07:47

+0

如果你願意給實際的網址,也許我們可以幫助更多,但沒有這些,篡改數據是我能想到的所有。 – Pheonix 2011-06-16 20:09:29

0

CURLOPT_HEADER是一個布爾值,決定它是否應該返回請求的標題。 要將標題傳遞給cURL,您應該使用CURLOPT_HTTPHEADER。

這應該只是罰款:

<?php 
     $ch=curl_init(); 
     $header[] = "Cache-Control: max-age=0"; 
     $header[] = "Connection: keep-alive"; 
     $header[] = "Keep-Alive: 300"; 
     $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 
     $header[] = "Accept-Language: en-us,en;q=0.5"; 
     $header[] = "Pragma: "; // browsers keep this blank. 
     curl_setopt($ch, CURLOPT_URL, "http://img2.somesite.net/bitbucket/"); 
     curl_setopt($ch, CURLOPT_HEADER, false); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     $a=curl_exec($ch); 
     curl_close($ch); 
     echo $a; 
?> 
+0

確切的代碼返回404 - 沒有找到,因爲我的確切代碼,也許我真的應該更具體的瀏覽器標題。 – Leron 2011-06-16 12:45:20