2010-09-11 105 views
0

基本上,我试图登录到站点。我已经登录,但该网站重定向到网站的另一部分,这样做后,它也会重定向我的浏览器。尝试使用PHP的cURL扩展名登录到站点

例如:

它成功地登录到http://example.com/login.php

但后来我的浏览器去http://mysite.com/site.php?page=loggedin

我只是希望它返回页面的内容,而不是被重定向到它。

我该怎么做?

按照要求,这里是我的代码

// create curl resource 
$ch = curl_init(); 

// set url 
curl_setopt($ch, CURLOPT_URL, $loginURL); 

//Some setopts 
curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_FOLLOWREDIRECT, FALSE); 
curl_setopt($ch, CURLOPT_REFERRER, $referrer); 

// $output contains the output string 
$output = curl_exec($ch); 

// close curl resource to free up system resources 
curl_close($ch); 

echo $output; 
+1

哪一页是您想要获取内容的页面? – 2010-09-11 18:13:31

+0

'http://example.com/site.php?page = loggedin' – Rob 2010-09-11 18:14:34

+0

你可以发布一些示例代码,告诉你这种行为是什么? – 2010-09-11 18:18:46

回答

1

想通了。该网页回应了元刷新,因为我正在回应输出,我的浏览器接着。

删除了echo $output;,它不再那样做。

我觉得有点愚蠢,因为在开始时没有意识到这一点。

谢谢大家。

0

使用你必须要找到重定向并按照卷曲,然后返回该网页的内容。我不确定为什么你的浏览器会重定向,除非你有一些奇怪的头文件代码,你从登录页面返回。

0

CURLOPT_FOLLOWLOCATION设置为false。

curl_setopt($ch , CURLOPT_FOLLOWLOCATION , FALSE); 

这可能会帮助你。

+0

仍然重定向我。 – Rob 2010-09-11 18:21:55