我有一個帶有以下簽名的mvc web api: public HttpResponseMessage Frob(string thing, [FromBody]string body)
。我已經能夠獲得一個非空值的唯一方法是發送帶有前導=
符號的數據。所以當我運行curl "$server/Frob" -d '=somedata'
時,效果很好。如何通過curl發送數據到mvc4 web服務
問題出現在我想運行curl "$server/Frob" -d '=some+data'
時。 +
變成一個空間。沒問題我說,我只會curl "$server/Frob" --data-urlencode '=some+data'
。不,捲曲文檔說
To be CGI-compliant, the <data> part should begin with a name followed by a
separator and a content specification. The <data> part can be passed to curl
using one of the following syntaxes:
[...]
=content
This will make curl URL-encode the content and pass that on.
The preceding = symbol is not included in the data.
[...]
我可以掏出通過Perl或任何對內容進行編碼,然後前面加上=
和發送,但我們有了一個更好的辦法!我是否需要對mvc web api進行更改,或者是否存在捲曲伏都教使=
停留?