2016-03-07 93 views

回答

0

如果您使用「簡單」捲曲調用,通常通過CURLOPT_POSTREDIR設置進行控制。但是,根據documentation的默認行爲是將POST更改爲GET,除非另有說明。也許某處您的代碼使用下面的命令:

curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL); 

而應該叫

curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_GET_ALL); 

另一種方法是不跟隨重定向的話,那麼自己處理它。這有點複雜,但讓你有更多的控制權。這個命令會告訴curl不要跟隨重定向。

curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 0L); 
+0

我是一個不支持CURLOPT_POSTREDIR的CURL版本。 但是什麼會導致發現HTTP 302? 我還需要解決由於重定向導致的此問題, – Vincy6

+0

網站使用重定向,這只是HTTP的一項功能。你很難輕鬆解決這個問題。 –

+0

該選項已添加到libcurl 7.19.1中,如果您使用的是較舊版本的libcurl,則應該升級原因比此更多... –