当前位置: 首页 > news >正文

HTTP——POST请求详情

POST请求

【传输实体文本】向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在POST请求体中。POST 请求可能会导致新的资源的建立或已有资源的修改。

场景:

1. 提交用户注册信息。
2. 提交修改的用户信息。

常见的post提交数据类型:

第一种:application/json这是json格式,也是非常友好的深受喜欢的一种,如下

    {“input1”:“xxx”,“input2”:“ooo”,“remember”:false}

第二种:application/x-www-form-urlencoded

浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数

    input1=xxx&input2=ooo&remember=false

第三种:multipart/form-data:这一种是表单格式的,数据类型如下

    ------WebKitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition: form-data; 
name="text"title------WebKitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition: 
form-data; name=“file”; filename=“chrome.png” Content-Type:
image/png PNG … content of chrome.png …
------WebKitFormBoundaryrGKCBY7qhFd3TrwA–

第四种:text/xml:这种直接传的xml格式

第五种:application/octet-stream:这种类型通常用于发送二进制数据。

第六种:Multipart/formdata:上传文件时所用格式

发送POST请求

    // 1 创建请求对象WebRequest request = WebRequest.Create("http://192.168.113.74:3000/register");// 2 设置post请求request.Method = "POST";// 3 设置超时时间request.Timeout = 30000;// 4 设置请求内容类型 (请求内容类型主要是针对传递时普通数据和传递图片而设置的)request.ContentType = "application/x-www-form-urlencoded"; // 主要针对传递数据是字符串格式// 5 设置请求数据string data = "name=" + this.textBox1.Text + "&psw=" + this.textBox2.Text; // 组织写入数据byte[] bs = Encoding.UTF8.GetBytes(data); // 转成字节数据Stream postStream = request.GetRequestStream(); // 传进传递数据// write方法 :// 参数1 字节数组,把字符串可以转成字节数组// 参数2 从那个地方开始写入,从头开始写,写0// 参数3 写入的长度postStream.Write(bs,0,bs.Length); // 写入数据// 6 获取响应WebResponse response = request.GetResponse(); // 获取响应Stream st = response.GetResponseStream(); // 响应流StreamReader sr = new StreamReader(st); // 创建读取工具string data1 = sr.ReadToEnd(); // 获取响应字符串st.Close();sr.Close();this.label3.Text = "结果:\n"+ data1;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • uniapp 微信小程序根据后端返回的文件链接打开并保存到手机文件夹中【支持doc、docx、txt、xlsx等类型的文件】
  • 【数据结构与算法】希尔排序:基于插入排序的高效排序算法
  • SpringBatch文件读写ItemWriter,ItemReader使用详解
  • ffmpeg和imagemagick制作gif动图
  • 论文阅读:Explainability for Large Language Models: A Survey
  • C++ 类和对象(A)
  • springboot 适配ARM 架构
  • linux centos limits.conf 修改错误,无法登陆问题修复 centos7.9
  • Git无法验证服务器证书
  • redis讲解与介绍
  • ## 基础知识
  • Jira学习
  • 为什么要使用加密软件?
  • 区块链与云计算的融合:新时代数据安全的挑战与机遇
  • 状态管理的艺术:探索Flutter的Provider库
  • 2018一半小结一波
  • css属性的继承、初识值、计算值、当前值、应用值
  • Java方法详解
  • Js基础知识(一) - 变量
  • laravel with 查询列表限制条数
  • Laravel 实践之路: 数据库迁移与数据填充
  • laravel5.5 视图共享数据
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • mysql中InnoDB引擎中页的概念
  • Phpstorm怎样批量删除空行?
  • Vue--数据传输
  • 多线程 start 和 run 方法到底有什么区别?
  • 前端性能优化——回流与重绘
  • 前端学习笔记之观察者模式
  • 试着探索高并发下的系统架构面貌
  • 算法-插入排序
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 译米田引理
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • (12)目标检测_SSD基于pytorch搭建代码
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (C11) 泛型表达式
  • (C语言)球球大作战
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (ZT)薛涌:谈贫说富
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (五)关系数据库标准语言SQL
  • (转)socket Aio demo
  • .gitignore文件使用
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET MVC 验证码
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET6实现破解Modbus poll点表配置文件
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET实现之(自动更新)
  • @AliasFor注解
  • @Resource和@Autowired的区别
  • [AIGC] 广度优先搜索(Breadth-First Search,BFS)详解