• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#Http请求

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 先看客户端Http请求之HttpWebRequest

using System.IO;
using System.Net;
using System.Text;

public class HttpHelper
{
    public static string Request(string data, string url)
    {
        return Request(Encoding.GetEncoding("UTF-8").GetBytes(data), url);
    }

    public static string Request(byte[] data, string url)
    {
        string result = string.Empty;

        //创建一个客户端的Http请求实例
        HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
        request.ContentType = "application/x-www-form-urlencoded";
        request.Method = "POST";
        request.ContentLength = data.Length;
        Stream requestStream = request.GetRequestStream();
        requestStream.Write(data, 0, data.Length);
        requestStream.Close();

        //获取当前Http请求的响应实例
        HttpWebResponse response = request.GetResponse() as HttpWebResponse;
        Stream responseStream = response.GetResponseStream();
        using (StreamReader reader = new StreamReader(responseStream, Encoding.GetEncoding("UTF-8")))
        {
            result = reader.ReadToEnd();
        }
        responseStream.Close();

        return result;
    }
}

data是待传入的Http实体主体的内容,例如在进行微信支付统一下单时需要传递给微信端的Xml字符串,不传可以写空字符串"";url是所请求的Http地址,例如https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx78b0b7。

 

与客户端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.Request("<xml>data</xml>","http://www.xxx.com/test.aspx?key=value");

服务端:

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中的?操作符发布时间:2022-07-13
下一篇:
C#对话框使用整理发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap