2010-09-11 103 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