欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用HttpClient進(jìn)行http操作方式

 更新時間:2023年11月07日 16:21:07   作者:whereismatrix  
這篇文章主要介紹了C#使用HttpClient進(jìn)行http操作方式,具有很好的參考價值,希望對大家有所幫助,

C#使用HttpClient進(jìn)行http操作

在.Net 4.5中增加了一個新的System.Net.Http.HttpClient名字空間(在 System.Net.Http.dll 中)。

其中 提供了用于發(fā)送 HTTP 請求和接收 HTTP 響應(yīng)的API。

基本操作

和以前的HttpWebRequest相比,HttpClient更加簡潔,下面就是一個下載www.baidu.com頁面的示例:

    string uri = "http://www.baidu.com/";
    HttpClient client = new HttpClient();
    string body = await client.GetStringAsync(uri); 

GetStringAsync()之外,還有GetByteArrayAsync()GetStreamAsync()、PostAsync ()DeleteAsync()等函數(shù),可用選擇使用。

一個重要的特點就是: 所有的函數(shù)操作都是異步的。

獲取響應(yīng)

最簡單的函數(shù)是HttpClient.GetStringAsync(), 用這個函數(shù)的時候,調(diào)用操作并不會阻塞,我們看不到HttpResponse的相關(guān)信息,如果需要看到Http響應(yīng)的信息,可以用如下標(biāo)準(zhǔn)方式:

Product product = null;
    HttpResponseMessage response = await client.GetAsync(path);
    if (response.IsSuccessStatusCode)
    {
        product = await response.Content.ReadAsAsync<Product>();
    }
    return productt;

這里使用HttpResponseMessage.

C# httpclient發(fā)送請求報錯

在c#當(dāng)中使用httpclient發(fā)送http請求,代碼如下:

string customTableServiceUrl = "https://localhost:5001/api/XXX/";
    
HttpClient httpClient = new HttpClient();
 
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
 
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Delete,
    customTableServiceUrl + "CLEVER/entries/2006");
 
var apiResponse = await httpClient.SendAsync(request);

但是在執(zhí)行的時候卻報錯如下:

The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

在定義HttpClient的代碼前加上一行代碼解決了我的問題:

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };      

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論