大佬教程收集整理的这篇文章主要介绍了如何发出HTTP POST Web请求,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有几种执行http GET
和POST
请求的方法:
可用:.NET Framework 4.5+
,.NET Standard 1.1+
,.NET Core 1.0+
。
目前,它是首选方法,并且具有异步性和高性能。在大多数情况下,请使用内置版本,但对于非常旧的平台,则提供了NuGet软件包。
using System.Net.http;
建议httpClIEnt
在应用程序的生命周期中实例化一个实例,并共享它,除非您有特殊原因不这样做。
private static Readonly httpClIEnt clIEnt = new httpClIEnt();
请参阅httpClientFactory
以获取依赖项注入解决方案。
POST
var values = new Dictionary<String, String>
{ { “thing1”, “Hello” }, { “thing2”, “world” } };
var content = new FormUrlEncodedContent(values);
var response = await clIEnt.PostAsync("http://www.example.com/recepticle.aspx”, content);
var responseString = await response.Content.ReadAsStringAsync();
GET
var responseString = await clIEnt.GetStringAsync("http://www.example.com/recepticle.aspx");
POST
var clIEnt = new RestClIEnt("http://example.com");
// clIEnt.Authenticator = new httpBasicAuthenticator(username, password);
var request = new Restrequest(“resource/{ID}”);
request.AddParameter(“thing1”, “Hello”);
request.AddParameter(“thing2”, “world”);
request.Addheader(“header”, “value”);
request.Addfile(“file”, path);
var response = clIEnt.Post(request);
var content = response.Content; // Raw content as String
var response2 = clIEnt.Post
这是一个更新的库,具有流畅的API,测试助手,在后台使用httpClIEnt且可移植。可通过NuGet获得。
using Flurl.http;
POST
var responseString = await "http://www.example.com/recepticle.aspx"
.PosturlEncodedAsync(new { thing1 = "Hello", thing2 = "world" })
.ReceiveString();
GET
var responseString = await "http://www.example.com/recepticle.aspx"
.GetStringAsync();
可用:.NET Framework 1.1+
,.NET Standard 2.0+
,.NET Core 1.0+
。在.NET
Core中,它主要是为了兼容性-它可以包装httpClIEnt
,性能较低且不会获得新功能。
using System.Net;
using System.Text; // For class EnCoding
using System.IO; // For StreamReader
POST
var request = (httpWebrequest)Webrequest.Create("http://www.example.com/recepticle.aspx");
var postData = “thing1=” + Uri.EscapeDataString(“Hello”); postData += “&thing2=” + Uri.EscapeDataString(“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();
GET
var request = (httpWebrequest)Webrequest.Create("http://www.example.com/recepticle.aspx");
var response = (httpWebResponsE)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
这是一个包装httpWebrequest
。与比较httpClient
。
可在:.NET Framework 1.1+
,NET Standard 2.0+
,.NET Core 2.0+
using System.Net;
using System.Collections.Specialized;
POST
using (var clIEnt = new WebClIEnt())
{ var values = new nameValueCollection(); values[“thing1”] = “Hello”; values[“thing2”] = “world”;
var response = clIEnt.UploadValues("http://www.example.com/recepticle.aspx", values);
var responseString = EnCoding.Default.GetString(responsE);
}
GET
using (var clIEnt = new WebClIEnt())
{ var responseString = clIEnt.DownloadString("http://www.example.com/recepticle.aspx”); }
我可以GET
提出请求,但是我不知道如何提出POST
请求。
以上是大佬教程为你收集整理的如何发出HTTP POST Web请求全部内容,希望文章能够帮你解决如何发出HTTP POST Web请求所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。