python接口自动化(十)--post请求四种传送正文方式(详解).pdfVIP

python接口自动化(十)--post请求四种传送正文方式(详解).pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
python接接⼝⼝⾃⾃动动化化 ((⼗⼗))--post请请求求四四种种传传送送正正⽂⽂⽅⽅式式 ((详详解解))   post请求我在已经讲过⼀部分了 主要是发送⼀些较长的数据 还有就是数据⽐较安全等。我们要知道post请求四种传送正⽂⽅式⾸先需要先了解⼀下常见的四种编码 ⽅式: HTTP 协议规定 POST 提交的数据必须放在消息主体 (entity-body)中 但协议并没有规定数据必须使⽤什么编码⽅式。 1 action:url 地址 服务器接收表单数据的地址 2 method :提交服务器的http⽅法 ⼀般为post和get 3 name :最好好吃name属性的唯⼀性 4 enctype: 表单数据提交时使⽤的编码类型 默认使⽤pplication x-www-form-urlencoded 如果是使⽤POST请求 则请求头中的content-type指定值就是该值。如果表单中有上 enctype为form表单数据的编码格式 Content-type为Http传输的数据的编码格式。分清两者 1 识别出表单中表单元素的有效项 作为提交项 2 构建⼀个表单数据集 3 根据form表单中的enctype属性的值作为content-type对数据进⾏编码 4 根据form表单中的action属性和method属性向指定的地址发送数据 1 get :表单数据会被encodeURIComponent后以参数的形式:name1=value1name2=value2 附带在url?后⾯ 再发送给服务器 并在url中显⽰出来。 2 post :enctype 默认application x-www-form-urlencoded对表单数据进⾏编码 数据以键值对在http请求体重发送给服务器;如果enctype 属性为multipart form-data 则以消 Http协议⾏为:Http1.1协议 我们知道 HTTP 协议是以 ASCII 码传输 建⽴在 TCP IP 协议之上的应⽤层规范。规范把 HTTP 请求分为三个部分:状态⾏、请求头、消息主体。类似于下⾯这样: 1 method request-URL version headers entity-body     协议规定 POST 提交的数据必须放在消息主体 (entity-body)中 但协议并没有规定数据必须使⽤什么编码⽅式。实际上 开发者完全可以⾃⼰决定消息主体的格式 只要最后发送的 HTTP 请求满⾜上⾯的格式就可以。 但是 数据发送出去 还要服务端解析成功才有意义。⼀般服务端语⾔如 php、python 等 以及它们的 framework 都内置了⾃动解析常见数据格式的功能。服务端通常是 根据请求头 (headers)中的 Content-Type 字段来获知请求中的消息主 体是⽤何种⽅式编码 再对主体进⾏解析。 所以说到 POST 提交数据⽅案 包含了 Content-Type 和消息主体编码⽅式两部分   这应该是最常见的 POST 提交数据的⽅式了。浏览器的原⽣ form 表单 如果不设置 enctype 属性 那么最终就会以 application x-www-form-urlencoded ⽅式提交数 据。请求类似于下⾯这样 (⽆关的请求头在本⽂中都省略掉了): POST http: HTTP 1.1 Content-Type:application x-www-form-urlencoded;charset=utf-8 title=testsub%5B%5D=1sub%5B%5D=2sub%5B%5D=3   ⾸先 Content-Type 被指定为 application x-www-form-urlencoded ;其次 提交的数据按照 key 1=val1key2=val2 的⽅式进⾏编码 key 和 val 都进⾏了 URL 转码。 ⼤部分服务端语⾔都对这种⽅式有很好的⽀持。例如 PHP 中 $_ POST[title] 可以获取到 title 的值 $_ POST[sub] 可以得到 sub 数组。   很多时候 我们⽤ Ajax 提交数据时 也是使⽤这种⽅式。例如 和 的 Ajax Content-Type 默认值都是 「application x-www-form-urlenc

文档评论(0)

暗伤 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档