HttpWebRequest - POST中不允许使用括号

时间:2011-04-29 08:52:51

标签: .net http httpwebrequest

编辑:我使用的是另一个过于复杂的项目的复制代码......幸运的是周末并不遥远。

** * ** 原始问题 * ** * ** * ** * ** *

我目前正在包装外部SMS网关API以供内部使用 - 外部API要求发送给多个收件人的邮件使用以下语法:

的http://(smsgateway)/用户名= FOO&安培;传=栏&安培;从= MYNAME&安培;收件人[] = 4512345678&安培;收件人[] = 4587654321&安培; ...

这适用于GET请求但我宁愿POST到网关以避免生成非常大的URL的问题。即使HTTP 1.1没有明确约束客户端将具有很长URL的请求发送到服务器。

这里的问题是,如果我在.NET 4中使用HttpWebRequest,我不允许使用包含括号的表单参数名称。我收到以下错误:'指定的值具有无效的HTTP标头字符'

我的问题是:我无法在HTTP 1.1规范中找到有关表单参数名称中无效字符的任何内容,为什么我不允许使用名为'recipients []'的表单参数名称?

1 个答案:

答案 0 :(得分:2)

您是如何发送POST请求的? HTTP不关心POST“表单参数”,因为它们是在请求体中发送的(具有适当的内容编码)。