2011-11-01 135 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出现问题。它停留在“中间”页面上,我必须再次发出请求才能进入正确的页面。

现在它工作正常!