首页 > 代码库 > C#服务端Http请求之HttpRequest

C#服务端Http请求之HttpRequest

与客户端Http请求类HttpWebRequest相对的服务端Http请求类是HttpRequest。HttpApplication、HttpContext、Page、UserControl类的Request属性都是HttpRequest类的实例。HttpRequest类使得Asp.Net能够读取客户端(如浏览器或使用了HttpWebRequest类的客户端程序)在Web请求期间发送的Http值。常见的Http值是客户端以Get方式传来的Url参数、Post方式提交过来的表单项和文件;不常见的Http值则是实体主体内容,例如前面关于HttpWebRequest介绍中提到在进行微信支付统一下单时需要向Http实体主体中写入内容,不清楚微信端如何接收这个Http实体主体,但如果是Asp.Net来接收的话就用HttpRequest类的InputStream属性,在微信支付成功后微信系统会回调商户后台的一个特定接口文件以通知商户后台当前订单已支付完成,此处回调时微信系统会向该特定接口文件写入了一个Xml字符串形式的实体主体内容,如下模拟一个Http实体主体内容的获取:

发送端:

HttpHelper.GetHtml("<xml>data</xml>","http://www.xxx.com/test.aspx?key=value");

接收端:

StreamReader reader = new StreamReader(Request.InputStream);
string xmlStr = reader.ReadToEnd();

 

C#服务端Http请求之HttpRequest