[英]Confused about CURLOPT_HTTPGET and CURLOPT_POST options
我對於為什么有兩個與設置請求類型有關的選項感到困惑。 他們對我來說似乎是多余的。 從PHP手冊頁面獲取curl_setopt()
:
CURLOPT_POST
如果為TRUE,則執行常規HTTP POST。 該POST是正常的application / x-www-form-urlencoded類型,最常用於HTML表單。
CURLOPT_HTTPGET
TRUE將HTTP請求方法重置為GET。 由於GET是默認設置,因此只有在更改了請求方法的情況下才需要這樣做。
如果我正確理解這一點,則默認情況下cURL發出GET請求,但可以通過執行以下操作將請求類型更改為POST:
curl_setopt($ch, CURLOPT_POST, true);
但是,除了執行以下操作之外,還要更改回GET請求:
curl_setopt($ch, CURLOPT_POST, false);
您還必須這樣做嗎?
curl_setopt($ch, CURLOPT_HTTPGET, true);
您需要查看libcurl
文檔,以進一步了解選項之間的差異,因為它們之間的差別非常微妙。 關鍵似乎在於您是否在請求之間重用curl
句柄。
CURLOPT_HTTPGET :如果先前使用相同的curl句柄使用了POST,HEAD,PUT等,則強制HTTP請求返回使用GET。
CURLOPT_POST :使用“ Content-Type:應用程序/ x-www-form-urlencoded”標頭的常規POST請求,該標頭通常是提交HTML表單時使用的類型。 然后可以選擇使用CURLOPT_HTTPHEADER
覆蓋標頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.