using System.Net;
GET:
1
2
3
|
var request = (HttpWebRequest)WebRequest.Create("http://www.leadnt.com/recepticle.aspx");
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
|
POST:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
var request = (HttpWebRequest)WebRequest.Create("http://www.leadnt.com/recepticle.aspx");
var postData = "thing1=hello";
postData += "&thing2=world";
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
|
第二种:WebClient,也过时了:
1
2
|
using System.Net;
using System.Collections.Specialized;
|
GET:
1
2
3
4
|
using (var client = new WebClient())
{
var responseString = client.DownloadString("http://www.leadnt.com/recepticle.aspx");
}
|
POST:
1
2
3
4
5
6
7
8
9
10
|
using (var client = new WebClient())
{
var values = new NameValueCollection();
values["thing1"] = "hello";
values["thing2"] = "world";
var response = client.UploadValues("http://www.leadnt.com/recepticle.aspx", values);
var responseString = Encoding.Default.GetString(response);
}
|
第三种:HttpClient 当前主流用法,异步请求,自.NET4.5开始可从Nuget包管理中获取。
1
|
using System.Net.Http;
|
GET:
1
2
3
4
|
using (var client = new HttpClient())
{
var responseString = client.GetStringAsync("http://www.mydomain.com/recepticle.aspx");
}
|
POST:
1
2
3
4
5
6
7
8
9
10
11
12
|
using (var client = new HttpClient())
{
var values = new List<KeyValuePair<string, string>>();
values.Add(new KeyValuePair<string, string>("thing1", "hello"));
values.Add(new KeyValuePair<string, string>("thing2 ", "world"));
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync("http://www.mydomain.com/recepticle.aspx", content);
var responseString = await response.Content.ReadAsStringAsync();
}
|
第四种:第三方类库:
REST API请求测试类库,可通过 NuGet 获得。
最新的便捷的api测试工具,使用HttpClient实现,可通过 NuGet 安装。
1
|
using Flurl.Http;
|
GET:
1
2
|
var responseString = await "http://www.mydomain.com/recepticle.aspx"
.GetStringAsync();
|
POST:
1
2
3
|
var responseString = await "http://www.mydomain.com/recepticle.aspx"
.PostUrlEncodedAsync(new { thing1 = "hello", thing2 = "world" })
.ReceiveString();
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2012-09-19 实战第一个云程序(转)
2011-09-19 ie9 cursor:hand
2008-09-19 IIS客户端证书访问配置(转)
2007-09-19 ^_^ 博客园排名1000留念
2007-09-19 鼠标右键右键菜单