HttpWebRequest发http参数

Posted MirrorSpace

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpWebRequest发http参数相关的知识,希望对你有一定的参考价值。

使用js发请求时,一般使用表单.json对象或者字符串

$.post(url,jsonStr)

服务端获取参数

Request.QueryString.Get();// GET参数

Request.Form.Get();// POST参数

由于一直是使用JS发请求,未注意过服务端收不到参数的情况

使用C#的HttpWebRequest发http请求时,却发现服务端收不到参数.(出现在使用POST方式时)

于是使用最这个办法,读取InputStream,可以拿到参数

byte[] byts = new byte[this.Request.InputStream.Length];
Request.InputStream.Read(byts, 0, byts.Length);
json = System.Text.Encoding.Default.GetString(byts);

如果要让服务端拿到POST的表单参数 Request.Form.Get(),那么传参数时如下

string postPara="id=1&name=xx";// 和 url上参数形式一样

byte[] data = System.Text.Encoding.UTF8.GetBytes(postPara);

request.ContentLength = data.Length;

reqStream = request.GetRequestStream();
reqStream.Write(data, 0, data.Length);
reqStream.Close();

 

以上是关于HttpWebRequest发http参数的主要内容,如果未能解决你的问题,请参考以下文章

C#通过WebClient/HttpWebRequest实现http的post/get方法

C#中HttpWebRequest的用法详解

C#通过WebClient/HttpWebRequest实现http的post/get方法

转asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端

HttpRequest 和HttpWebRequest的区别

HttpWebRequest发送post请求时有多个参数如何处理