2012-04-11 85 views
5

我擡頭看了谷歌瞭解更多信息。但我讀得越多,我越困惑或不知所措CURLOPT_FOLLOWLOCATION

據我所知,CURLOPT_FOLLOWLOCATION()遵循「的位置」,但什麼位置?它是初始化的網址嗎?

curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, false); 

我只需要將數據發佈到icontact郵件列表中 - 上面這段代碼會阻止數據進入郵件列表嗎?

我打印了$result,看到數據進入了正確的郵件列表,但我無法看到數據是否是來自表單的正確數據。

回答

13

docs報價:

CURLOPT_FOLLOWLOCATIONTRUE遵循任何「位置:」頭的 服務器發送的HTTP標頭的一部分(注意這是遞歸的,PHP 將遵循儘可能多的「位置:「發送它的標題,除非設置了 CURLOPT_MAXREDIRS)。

當您請求URL時,有時可以將其重定向到其他某個URL。在PHP中可以這樣做:

header('Location: http://example.com/'); 

該指令指示CURL根據HTTP要求加載該URL而不是原始URL。通常沒有理由禁用它。

+0

,但是如果我啓用它,只有數據被髮布到icontact列表中才會沒有區別?我不想要任何重定向? – joe 2012-04-11 10:26:17

+1

如果影響響應,它不會影響請求。它告訴CURL收到響應後該做什麼。 – 2012-04-11 10:30:55

+0

「通常沒有理由禁用它」。如果你正在開發一個網頁,你不應該禁用它。但是如果你正在開發一個RIA,也許你不想在任何地方重定向,因爲這對用戶來說會很奇怪。 – 2013-04-20 11:38:14

4

它告訴CURL忽略30x HTTP重定向頭。如果設置爲true,則"Location: <someurl>"響應中的HTTP標頭將導致CURL向此標頭中指定的位置發出另一個請求。

+0

所以如果我將它設置爲false,數據仍然會被髮布到icontact郵件列表中並且不會受到影響,正確嗎? – joe 2012-04-11 09:54:44

+0

據我瞭解你想要什麼,我認爲它將沒有影響。 – 2012-04-11 09:57:29

+0

非常感謝,我希望數據仍然發佈到icontact列表中,但我看不到實際列表。再次感謝您的解釋 – joe 2012-04-11 09:59:14

相關問題