curl获取重定向网页的内容

时间:2011-11-01 23:58:22

标签: php redirect curl login

我尝试登录具有组合登录的网站。

重定向到此站点的工作正常,重定向也是如此......但前提是我使用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);

// ...
?>

1 个答案:

答案 0 :(得分:0)

javascript存在问题。它停留在“中间”页面上,我不得不另外发出卷曲请求到达正确的页面。

现在工作正常!