.NET HttpClient简单使用教程

2022-04-15 21:21:36

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

] [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接口,发现成功返回了百度首页的htmeanDzZSl内容

在这里插入图片描述

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

可以把MyHttpC易采站长站lient改为:

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");});