1. 程式人生 > 程式設計 >.NET HttpClient簡單使用教程

.NET HttpClient簡單使用教程

建立一個名為HttpClientTest的Web API專案

在這裡插入圖片描述

新建Clients資料夾,用於存放自定義的HttpClient

在這裡插入圖片描述

在Clients下新建一個MyHttpClient類

在這裡插入圖片描述

程式碼為:

namespace http://www.cppcns.comHttpClientTest.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;www.cppcns.com
public TestController(MyHttpClient myHttpClient) { _myHttpClient = myHttpClient; } [HttpGet] public ashttp://www.cppcns.comync 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使用內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!