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();

原文地址:https://www.cnblogs.com/mirrortom/p/8547075.html