2011-11-01 95 views
0

我嘗試在一個具有組合登錄的站點上登錄。curl抓取重定向網頁的內容

重定向到這個網站工作正常,重定向回來以及...但只有當我停止與die() PHP程序。不幸的是,它不存儲在$ return中,我需要繼續。

任何想法,我做錯了什麼?非常感激!

<?php 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_POST,    TRUE); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, TRUE); 
curl_setopt($ch, CURLOPT_POSTREDIR,   TRUE); 

curl_setopt($ch, CURLOPT_URL,    URI_LOGIN); 

$content = curl_exec($ch); 

// PREPARING THE LOGIN 
$referer = URI_LOGIN . '?ReturnUrl=' . urlencode('/returnUrl/'); 

curl_setopt($ch, CURLOPT_URL,   $referer); 
curl_setopt($ch, CURLOPT_REFERER,  $referer); 

curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE); 

$post = ...; 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); 

curl_setopt($ch, CURLOPT_USERAGENT, '...'); 
curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE); 

$content = curl_exec($ch); 

// LOGIN 
curl_setopt($ch, CURLOPT_URL, COMBINED_LOGIN); 

$post = ...; 

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); 

$return = curl_exec($ch); 

// ... 
?> 

回答

0

JavaScript出現問題。它停留在「中間」頁面上,我必須再次發出請求才能進入正確的頁面。

現在它工作正常!