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

新建Clients文件夾,用于存放自定義的HttpClient

在Clients下新建一個(gè)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ù)注冊(cè)進(jìn)容器中
services.AddHttpClient<MyHttpClient>();
新建一個(gè)TestController來對(duì)我們的MyHttpClient做一個(gè)測(cè)試
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)容

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

