如何将带空格的参数发送到.net web api

时间:2013-04-25 07:59:49

标签: asp.net-web-api

我想在web api

中收到一个包含空格的长字符串

根据我的理解,我不能发送带有空格的参数,是否必须以某种方式进行编码?

编辑:

我的内容类型是:

Content-Type: application/x-www-form-urlencoded 

我已将其更改为其他几种类型,但它们都不允许我使用+而不是空格接收参数

我的帖子方法签名是

public HttpResponseMessage EditCommentForExtension(string did, string extention, string comment)

3 个答案:

答案 0 :(得分:1)

通常,HTTP GET请求的参数是URL encoded。这意味着(除其他外)空格被“+”代替。

答案 1 :(得分:0)

对我来说唯一有用的是添加%20而不是空格

答案 2 :(得分:0)

使用+表示URL中的“空格”是某些网站使用的内部约定,但它不是URL编码标准的一部分。如果你想用+表示空格,你将不得不自己转换它们。

正如您所发现的那样,空格(就像其他需要编码的其他内容)应该用%XX编码,其中X标准为十六进制数字。

http://www.w3.org/Addressing/rfc1738.txt