【C#】HttpClient 的基本使用
2021-03-02 18:26
标签:UNC ati load request isp mes 产生 exception await 创建一个 HttpClient 实例,这个实例需要调用 Dispose 方法释放资源,这里使用了 using 语句。接着调用 GetAsync,给它传递要调用的方法的地址,向服务器发送 Get 请求。对 GetAsync 的调用返回一个 HttpResponseMessage 对象,包含标题、状态和内容。检查响应的 IsSuccessStatusCode 属性,可以确定请求是否成功,如果调用成功,就使用 ReadAsStringAsync 方法把返回的内容检索为一个字符串。 FormUrlEncodedContent 继承自 HttpClient。 如果调用 HttpClient 类的 GetAsync 方法失败,默认情况下不产生异常,可调用 EnsureSuccessStatusCode 方法进行改变,该方法检查 IsSuccessStatusCode 的值,如果是 false,则抛出一个异常。 发出请求时没有设置或改变任何标题,但是 HttpClient 的 DefaultRequestHeaders 属性允许设置或改变标题。 【C#】HttpClient 的基本使用 标签:UNC ati load request isp mes 产生 exception await 原文地址:https://www.cnblogs.com/zhouzelong/p/12953713.html简单的异步 Get 请求
using (var client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(RemoteUrl);
if (response.IsSuccessStatusCode)
{
WriteLine($"Response Status Code: {(int)response.StatusCode} {response.ReasonPhrase}");
string responseBodyAsText = await response.Content.ReadAsStringAsync();
WriteLine($"Received payload of {responseBodyAsText.Length} characters");
WriteLine();
WriteLine(responseBodyAsText);
}
}
简单的异步 Post 请求
using (var client = new HttpClient())
{
var values = new Dictionary
测试 Post 服务器(Node.js)
const http=require(‘http‘)
const querystring=require(‘querystring‘)
http.createServer(function (req, res){
var str=‘‘
req.on(‘data‘, function (data){
console.log("----------")
str += data;
})
req.on(‘end‘, function (){
var POST=querystring.parse(str);
console.log(POST)
})
res.end()
}).listen(8080)
抛出异常
try
{
using (var client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(RemoteUrl);
response.EnsureSuccessStatusCode();
//...
string responseBodyAsText = await response.Content.ReadAsStringAsync();
//...
}
}
catch (Exception ex)
{
WriteLine($"{ex.Message}");
}
传递标题
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose");
//...
}
文章标题:【C#】HttpClient 的基本使用
文章链接:http://soscw.com/index.php/essay/59147.html