文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

.NET HttpClient简单使用教程

2024-04-02 19:55

关注

创建一个名为HttpClientTest的Web API项目

在这里插入图片描述

新建Clients文件夹,用于存放自定义的HttpClient

在这里插入图片描述

在Clients下新建一个MyHttpClient类

在这里插入图片描述

代码为:


namespace HttpClientTest.Clients
{
    public class MyHttpClient
    {
        private readonly HttpClient _client;

        public MyHttpClient(HttpClient client)
        {
            _client = client;
        }

        public async Task<string> ShowAsync()
        {
            return await _client.GetStringAsync("https://www.baidu.com");
        }
    }
}

将自定义的MyHttpClient服务注册进容器中


services.AddHttpClient<MyHttpClient>();

新建一个TestController来对我们的MyHttpClient做一个测试


using HttpClientTest.Clients;
using Microsoft.AspNetCore.Mvc;

namespace HttpClientTest.Controllers
{
    [ApiController]
    [Route("[controller]/[action]")]
    public class TestController : ControllerBase
    {
        private readonly MyHttpClient _myHttpClient;

        public TestController(MyHttpClient myHttpClient)
        {
            _myHttpClient = myHttpClient;
        }

        [HttpGet]
        public async Task<object> GetAsync()
        {
            return await _myHttpClient.ShowAsync();
        }
    }
}

访问GetAsync接口,发现成功返回了百度首页的html内容

在这里插入图片描述

很多时候,我们希望通过相对路径的方式来对远程服务进行访问

可以把MyHttpClient改为:


namespace HttpClientTest.Clients
{
    public class MyHttpClient
    {
        private readonly HttpClient _client;

        public MyHttpClient(HttpClient client)
        {
            _client = client;
        }

        public async Task<string> ShowAsync()
        {
	        //return await _client.GetStringAsync("https://www.baidu.com");
            return await _client.GetStringAsync("/");
        }
    }
}

在注册服务时就要配置基地址


services.AddHttpClient<MyHttpClient>(client =>
{
    client.BaseAddress = new Uri("https://www.baidu.com");
});

到此这篇关于.net HttpClient简单使用的文章就介绍到这了,更多相关.net HttpClient使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯