簡體   English   中英

卷曲中選項X的目的是什么?

[英]What is the purpose of option X in curl?

根據curl 文檔的 11.2節(在下面提供以供參考),如果使用--request / -X選項,則可以更改 curl選擇的方法關鍵字但不會修改curl的行為 如果-X選項沒有修改卷曲行為,那么此參數的目的是什么?

應該注意的是,curl根據要求采取的動作自行選擇使用哪些方法。 -d將執行POST,-I將執行HEAD等。 如果使用--request / -X選項,則可以更改curl選擇的方法關鍵字,但不會修改curl的行為。 這意味着,例如,如果您使用-d“ data”進行POST,則可以使用-X將方法修改為PROPFIND,並且curl仍然認為它發送了POST。 您可以通過簡單地在命令行中添加-X POST來將普通的GET更改為POST方法:

curl -X POST http://example.org/ ...但是curl仍然會考慮並采取類似發送GET的方式,因此不會發送任何請求正文等。

為了簡單起見,讓我們假設我們在這里只談論HTTP。

協議(HTTP)具有某些語義。 例子:

  • GET結果可以被緩存。
  • 可以緩存PUT數據。
  • 服務器可能會忽略GET的主體。

等等..

curl知道協議的語義,並基於curl的參數實現它: -d表示POST語義, -I表示HEAD語義等。

現在,一個HTTP請求如下所示:

POST /api/v1/hello HTTP/1.1
Host: example.com
User-Agent: curl/7.47.0
Accept: */*

hello world!

第一行中的第一個單詞是HTTP方法,在上面的示例中為POST

文檔的意思是: -X允許您將第一行中第一個單詞中想要的任何內容發送到服務器,但是由客戶端(curl)實現的語義仍然由其他選項控制,而不是由curl控制。第一個單詞發送到服務器。

請注意,服務器不知道您給curl提供了哪些選項,因此服務器實現的語義將基於第一行中的第一個單詞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM