HTTPWebRequest正文格式

时间:2012-05-21 20:35:00

标签: c# http httpwebrequest

这是一个愚蠢的小问题,但我似乎无法在任何设置了多个属性的地方找到一个正确的例子。基本上,我正在尝试使用C#的HTTPWebRequest库发送POST请求,同时在请求正文中指定两个不同的字段。

到目前为止,我有这个:

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byt = encoding.GetBytes("recipient=12345ABC");
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byt.Length;
Stream newStream = request.GetRequestStream();
newStream.Write(byt, 0, byt.Length);

接下来是通常的GetResponse()内容。这很好用,一切都很花哨,但我无法弄清楚如何指定多个身体元素,例如这两个:

recipient=12345ABC
body="testmessage"

我尝试用分号,&符号和逗号分隔它们,但服务器不断返回错误400:错误请求。也许我只是误解了这个过程是如何运作的?

1 个答案:

答案 0 :(得分:1)

API文档很糟糕。实际参数名称为“收件人”和“文本” - 此更改后代码正常工作。

正文中的网址编码工作正常,“收件人= 12345ABC& text =此+ + +网址+转义+文字”在网址本身或POST正文中像魅力一样工作。