(43)C#网络1 http

一、HttpClient类

用于发送http请求,并接受请求的相应

(从4.5起开始可用)
using System.Net.Http;

  异步调用

            HttpClient httpClient = new HttpClient();
            //获取或设置读取响应内容时要缓冲的最大字节数,要在发送请求前设置
            httpClient.MaxResponseContentBufferSize = 100000;
            //获取或设置请求超时前等待的时间跨度
            httpClient.Timeout = TimeSpan.FromSeconds(1);
            //以异步操作将 GET 请求发送给指定 URI,返回一个HttpResponseHeaders对象
            HttpResponseMessage httpResponse = await httpClient.GetAsync("https://www.baidu.com/");
            Console.WriteLine(httpResponse.Content.ReadAsStringAsync().Result);

 

添加请求头

            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("Accept","application/json;odata=verbose");

 

 

二、HttpResponseMessage 类

用于接收 http请求返回的数据和状态码

 

        static void Main(string[] args)
        {
            GetData();
            Console.ReadKey();
        }
        private static async void GetData() { HttpClient httpClient = new HttpClient(); HttpResponseMessage httpResponse = null; httpResponse = await httpClient.GetAsync("http://www.baidu.com/"); if (httpResponse.IsSuccessStatusCode) { //获取或设置 HTTP 响应的状态, Console.WriteLine("HTTP 响应的状态代码: " + httpResponse.StatusCode); //获取或设置通常由服务器发出的原因短语(与状态代码一起发出) Console.WriteLine("服务器发出的原因短语: " + httpResponse.ReasonPhrase); //获取 HTTP 响应标头的集合 Console.WriteLine("HTTP 响应标头信息:" + httpResponse.Headers); //获取或设置 HTTP 响应消息的内容****** Console.WriteLine("HTTP 响应消息的内容: " + httpResponse.Content.ReadAsStringAsync().Result); //获取或设置 HTTP 消息版本 Console.WriteLine("HTTP 消息版本: " + httpResponse.Version); } } }

 

三、HttpRequestMessage类

表示一条 HTTP 请求消息

            HttpClient httpClient = new HttpClient();
            HttpRequestMessage httpRequestMessage = new HttpRequestMessage();
            //获取或设置用于 HTTP 请求的 Uri
            httpRequestMessage.RequestUri= new Uri("https://www.baidu.com");
            var task = httpClient.SendAsync(httpRequestMessage);
            task.Result.EnsureSuccessStatusCode();
            HttpResponseMessage response = task.Result;
            Console.WriteLine(response.Content.ReadAsStringAsync().Result);

 

 

HttpRequestHeaders 类

请求标头

 

 

四、HttpContent 类

表示 HTTP 实体正文和内容标头的基类

 

 

五、HttpMessageHandler 类

HTTP 消息处理程序的基类

HttpClient 类可以把HttpMessageHandler作为其构造函数的参数来定制请求

 

六、把输出结果显示为html

 

转载于:https://www.cnblogs.com/buchizaodian/p/8507937.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值