2012-06-01 37 views
1

我正在嘗試向域請求捲曲請求:http://xyz.com。這是我的代碼。停止捲曲重定向到新頁面

$ch = curl_init(); 

    curl_setopt($ch, CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_URL, $strURL); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $arrData); 

    curl_exec($ch); 

在提出請求時,它被重定向到某個頁面,並且不會回到我的頁面。

我該如何停止在curl請求中重定向。

對不起傢伙...

我試圖CURLOPT_FOLLOWLOCATION爲0的建議後,和它的工作......這是我的錯誤,我沒有刪除頭重定向的下一行,並繼續傳球和傳球...

對不起我的錯誤。

一次...... CURLOPT_FOLLOWLOCATION 0不會轉移......

+0

你怎麼知道它重定向? –

+1

如果CURLOPT_FOLLOWLOCATION爲0,curl沒有遵循任何重定向。期。 –

回答

0

嘗試玩:

  1. CURLOPT_RETURNTRANSFER

  2. CURLOPT_FOLLOWLOCATION

  3. CURLOPT_COOKIEJAR

  4. CURLOPT_COOKIEFILE

想想記錄吧,用它進行調試更容易!

$handle = fopen('log.tmp', 'w'); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 
curl_setopt($ch, CURLOPT_STDERR, $handle); 
1

嘗試使用CURLOPT_MAXREDIRS選項。

CURLOPT_MAXREDIRS:要遵循的HTTP重定向的最大數量。與CURLOPT_FOLLOWLOCATION一起使用此選項。

+1

如果'FOLLOWLOCATION'設置爲0,這應該沒有什麼區別。 – Jeroen

+0

是啊沒有任何區別... – KoolKabin

1

我認爲,因爲該頁面檢查您的用戶代理或設置cookie,所以您需要嘗試儘可能模仿網頁瀏覽器。

如添加的user-agent:

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7'); 

或者嘗試設置cookie的:

$cookieJar = tempnam ("/tmp", "CURLCOOKIE"); 
    curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookieJar); 

如果您提供的網址也許我可以幫助更多。

+0

cookiejar也適用於其他域?示例網址是否正確或需要確切的網址?由於某種原因,這個網址是保密的...... – KoolKabin

+0

與網頁瀏覽器,你可以打開該網頁沒有問題,對不對? –

+0

是的,我可以......實際上我張貼表單的價值,而不顯示錶單... – KoolKabin