编辑:我正在使用复制代码从另一个过于复杂的项目...幸运的是,周末并不遥远。HttpWebRequest - POST中不允许使用括号
** * **原来的问题* ** * ** * ** * ** *
我m目前正在封装外部SMS网关API供内部使用 - 外部API要求将消息发送到mu ltiple收件人使用以下语法:
HTTP://(smsgateway)/用户名= FOO &通=酒吧&从= MYNAME &收件人[] = 4512345678 &收件人[] = 4587654321& ...
这对于GET请求来说工作正常,但我宁愿发布到网关以避免产生非常大的URL的问题。即使HTTP 1.1没有明确限制客户端发送包含很长URL的请求到服务器。
这里的问题是,我不能,如果我在.NET 4使用HttpWebRequest的使用含括号形式参数的名字,我得到以下错误:“指定的值无效HTTP头人物的
我的问题是:我无法在HTTP 1.1规范中找到关于表单参数名称中的无效字符的任何内容,为什么我不允许使用名为'recipients []'的表单参数名称?
添加到表单集合时发生错误:webRequest.Headers.Add(“recipients []”,“somevalue”); – kerbou 2011-04-29 08:58:14
这不是POST请求的工作方式 - 表单参数不会在请求头中发送。它们在请求主体中发送。 – hrnt 2011-04-29 09:00:17
这是一个快速的谷歌搜索发现,注意postData是如何被发送的:http://www.netomatix.com/httppostdata.aspx – hrnt 2011-04-29 09:02:08