小编典典

有几种执行HTTP GET和POST请求的方法:

方法A:HttpClient(首选)

可用:.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();

POST

var values = new Dictionary

{

{ “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");

方法B:第三方库

POSTvar 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(request);

var name = response2.Data.Name;

这是一个更新的库,具有流畅的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();

方法C:HttpWebRequest(不建议用于新工作)

可用:.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();

方法D:WebClient(不建议用于新工作)

这是一个包装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”);

}

2020-05-19

html发送post请求,如何发出HTTP POST Web请求相关推荐

  1. 控制发送的请求条数_一个 HTTP 请求的曲折经历

    关注"逆锋起笔"领取视频教程☞ 程序员进阶必备资源免费送「各种技术!」 ☜ 来源:www.neroht.com/article-detail/18从一个经典的面试题说起,输入URL ...

  2. cefsharp 发送请求服务器_超高性能管线式HTTP请求(实践·原理·实现)

    来源:https://www.cnblogs.com/lulianqi/p/8167526.html 这里的高性能指的就是网卡有多快请求发送就能有多快,基本上一般的服务器在一台客户端的压力下就会出现明 ...

  3. python请求库_如何使用Python请求库发出post请求?

    我在Postman中使用以下过滤器在Web API中发出POST请求,但无法使用请求库在Python中发出简单的POST请求. 首先,我向这个URL(http://10.61.202.98:8081/ ...

  4. C程序|实现使用OPENSSL库 发送HTTPS请求,并接收数据|例如请求12306获取高铁、动车、火车车次信息的方法

    C程序|实现使用OPENSSL库 发送HTTPS请求,并接收数据|例如请求12306获取高铁.动车.火车车次信息的方法 1 HTTPS请求 1.1 研究浏览器发送的请求数据 1.2 代码实现 2 分析 ...

  5. xhr如何发送post请求_js实现ajax的post请求步骤

    //当页面加载完毕之后,执行以下代码 window.onload =function(){ document.getElementById("ok").onclick =funct ...

  6. 【安卓开发】Android初级开发(okhttp3发送带header与带参数的GET请求)

    1.首先需要先加入相应依赖 dependencies{implementation 'com.squareup.okhttp3:okhttp:3.13.1' implementation 'com.s ...

  7. 如何使用apiPOST进行模拟发送get、post、delete、put请求(支持文件上传)

    现在的模拟发送请求插件很多,但亲测apiPOST更好用一些,因为它不仅可以模拟发送get.post.delete.put请求,还可以导出文档,中文界面更适合国内的程序员. 今天来分享如何使用apiPO ...

  8. Http发送get、post、delete、put请求

    Http发送get.post.delete.put请求 1.GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改.增加数据,不会 ...

  9. 一个请求结束之后再发送另外一个请求,需要连着发很多请求的方法-promise

    之前用vue写了一个表格组件,一个页面最多会循环出来20个表格,每个表格都有会发请求,差不多20个请求一起发出,数据库不干了,所以就想在一个表格请求完再请求下一个表格. 这就用了传说中的promise ...

最新文章

  1. 微服务架构在云端的应用
  2. ASP.NET中利用DataList实现图片无缝滚动
  3. thinkphp5.0.9预处理导致的sql注入复现与详细分析
  4. notepad++是什么?用notepad++来编辑c语言代码
  5. Pdshell教程-利用现有数据库(没有PDM情况下)导出数据库PMD文件
  6. 五边形lisp程序_CAD LISP 程序
  7. 【JS 逆向百例】某易支付密码 MD5+AES 加密分析
  8. springmvc + mybatis + ehcache + redis 分布式架构
  9. 阶段性总结_学习笔记
  10. 在Java代码(非JSP及Action,Servlet,Controller)中获得WebRoot的物理路径
  11. 八皇后问题-python描述
  12. 巅峰阁批量卡android,卡iPhoneQQ在线
  13. 苏州新导RFID智能医药柜,为老人用药,取药吃药带来了方便
  14. 往返多伦多与温莎的交通全攻略!
  15. ubuntu12.04 快捷键
  16. 批处理学习整理--批处理清理垃圾与控制开机自启软件实现
  17. 浙江大学SEL实验室
  18. 关于Java虚拟机(Java Virtual Machine 简称JVM) 笔记
  19. webim 实现实时通讯的 4 种方式
  20. 今天睡眠质量记录74分

热门文章

  1. 游戏测试中的接口测试总结
  2. 完整學習機器學習實錄 1 —— 安裝 Ubuntu 18.04
  3. matlab画p轨道,matlab绘制原子轨道图.pdf
  4. Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析
  5. 海底捞年营收347亿:同比降16% 关闭50家表现欠佳餐厅
  6. uni-app去掉右侧滚动条
  7. 学习笔记: apply、call、bind的使用
  8. FTP 只有 只使用明文FTP 可以读取到目录 别的都不行
  9. bert简介_什么是BERT?
  10. BERT |(2)BERT的原理详解