.NET?HttpClient簡單使用教程
創(chuàng)建一個名為HttpClientTest的Web API項(xiàng)目

新建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服務(wù)注冊進(jìn)容器中
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接口,發(fā)現(xiàn)成功返回了百度首頁的html內(nèi)容

很多時候,我們希望通過相對路徑的方式來對遠(yuǎn)程服務(wù)進(jìn)行訪問
可以把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("/");
}
}
}
在注冊服務(wù)時就要配置基地址
services.AddHttpClient<MyHttpClient>(client =>
{
client.BaseAddress = new Uri("https://www.baidu.com");
});
到此這篇關(guān)于.net HttpClient簡單使用的文章就介紹到這了,更多相關(guān).net HttpClient使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ASP.NET中使用開源組件NPOI快速導(dǎo)入導(dǎo)出Execl數(shù)據(jù)
這篇文章主要介紹了ASP.NET中使用開源組件NPOI快速導(dǎo)入導(dǎo)出Execl數(shù)據(jù),NPOI是一個很強(qiáng)大的Execl操作組件,需要的朋友可以參考下2014-09-09
C#數(shù)據(jù)綁定控件中的DataSource屬性淺談
使用該屬性指定用來填充Repeater控件的數(shù)據(jù)源。DataSource可以是任何System.Collections.IEnumerable對象, 如用于訪問數(shù)據(jù)庫的System.Data.DataView、System.Collections.ArrayList、System.Collections.Hashtable、數(shù)組或IListSource對象2013-02-02
asp.net Execl的添加,更新操作實(shí)現(xiàn)代碼
asp.net Execl的添加、修改等實(shí)現(xiàn)代碼。2009-02-02
ASP.NET 生成靜態(tài)頁面 實(shí)現(xiàn)思路
網(wǎng)上的cms系統(tǒng)好多都是支持生成靜態(tài)的,大家在使用過程中,也肯定遇到了很多的問題,下面就是一些實(shí)現(xiàn)的原理,其實(shí) asp,php,asp.net的原理都是差不多的。2009-06-06
.net重啟iis線程池和iis站點(diǎn)程序代碼分享
服務(wù)器監(jiān)控,一定時間內(nèi)或者iis異常就需要重啟線程池和站點(diǎn),下面我們用代碼來做這個功能2013-12-12
.net 動態(tài)標(biāo)題實(shí)現(xiàn)方法
.net 實(shí)現(xiàn)動態(tài)標(biāo)題方法,需要的朋友可以參考下。2009-11-11
從EFCore上下文的使用到深入剖析DI的生命周期最后實(shí)現(xiàn)自動屬性注入
這篇文章主要介紹了從EFCore上下文的使用到深入剖析DI的生命周期最后實(shí)現(xiàn)自動屬性注入,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
asp.net?core?+?jenkins?實(shí)現(xiàn)自動化發(fā)布功能
這篇文章主要介紹了asp.net?core?+?jenkins?實(shí)現(xiàn)自動化發(fā)布功能,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04

