2012-11-20 154 views
0

有一個我需要登錄的網頁。我使用CURL進行登錄,但這還不夠。當您從網站登錄時,該帖子還包含一個始終在變化的字符串。是否有辦法克服?通過CURL登錄網頁

我用這個:

$ch = curl_init(); 

curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; he-IL; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
curl_setopt($ch, CURLOPT_POST, TRUE); 

$post = "username=$username&password=$password"; 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 

$result = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 

這就像我需要的代碼實際上轉到該網頁,並定期填寫表格。

我到處尋找,但所有我能找到的是使用發佈數據。

謝謝!

+1

可能是一種反垃圾郵件措施。您必須獲取表單,用dom提取代碼,然後將其與登錄請求一起提交。 –

+0

我確定那個「改變代碼」是爲了防止有人這樣做。 –

+1

哈哈哈我剛剛發現他們在隱藏輸入LOL中保存這段代碼! –

回答

0

要通過該表單,您需要使用表單訪問該頁面,抓取該字段,然後在提交表單時將其用於POST請求中。

,我建議您訪問的表單頁面不僅如此,還由於以下原因(其中一些可以用來計算使用的自動請求人):

  1. 您收到餅乾
  2. 你不要冒充引薦來源,你實際上訪問了頁面
  3. 你可能想要檢查表單字段,看看是否有任何新的,因爲你寫腳本。如果表單設置發生變化,可能會出現這種情況,如果您不想那麼腳本可能會停止工作一天