电商商城定制开发GET和POST的区别以及传参详细解说

文章目录


前言

电商商城定制开发该文章为自己学习及经验总结,电商商城定制开发里面可能会有不准确的地方,电商商城定制开发后续会不断的修正
电商商城定制开发文章内容主要针对人员电商商城定制开发需要掌握的范围


一、get和post的区别

1、w3school 标准答案

2、GET、POST 请求报文上的区别

GET 和 POST 只是 HTTP 协议中两种请求方式,而 HTTP 协议是基于 TCP/IP 的应用层协议,无论 GET 还是 POST,用的都是同一个传输层协议,所以在传输上,本质没有区别

报文格式上,不带参数时,最大区别就是第一行方法名不同, 仅仅是报文的几个字符不同而已
POST 方法请求报文第一行是这样的 POST /url HTTP/1.1
GET 方法请求报文第一行是这样的 GET /url HTTP/1.1
带参数时报文的区别呢? 在约定中,最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。

例子
如果请求方法为 GET,那么请求数据为空。它主要是在 POST 中进行使用,适用于需要填表单(FORM)的场景。我们通过一个实际的例子来看看 HTTP 的 GET 请求报文是什么样的,我们这里以访问 api.github.com/search/users?q=JakeWharton为例,通过抓包我们得到的请求报文如下所示:

我们重点看到请求行:

GET/search/users?q=JakeWharton HTTP/1.1
  • 1

可以看到请求方法用的是 GET 请求,URL为/search/users?q=zhangsan,协议为 HTTP1.1。
请求行下面部分全都是请求头部,我们可以看到 host为 api.github.com,连接方式为长连接等信息。值得注意的是我们这个例子中是不存在请求数据的。

接下来我们再来看一下 POST请求的报文:

可以看到请求行中请求方法为 POST,URL里没有问号后接参数,协议版本也是 HTTP1.1 。它和上面 GET 方法例子不一样的地方在于它的请求参数是位于请求数据中的,可以看到 “biz_id”:“edu”,“room_id”:10001,"platform。。。 就是它的请求数据。并且我们要注意到在请求数据和请求头之间是空出一行的,这是必不可少的。

二、传参

一般情况下,在get请求中使用,data、json在post请求中使用

1.get传参

见上文GET、POST 请求报文上的区别

2.post传参

传入参数json

传入参数, json=data json关键字参数就是表示 content-type :application/json

import requestsurl = 'http://120.78.128.25:8766/futureloan/member/register'headers = {"X-Lemonban-Media-Type":"lemonban.v2"}data = {"mobile_phone":"13712341280","pwd":"12345678"}#一定要添加header关键字参数,不能以位置参数传递#因为放到了可变长参数里边#content-type不需要添加,为什么??json关键字参数就是表示content-type,res = requests.post(url,json=data,headers=headers)print(res.json())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

传入参数data

传入参数, data=data关键字参数表示 表单格式application/x-www-form-urlencoded

import requestsurl = 'http://120.78.128.25:8766/futureloan/member/register'headers = {"X-Lemonban-Media-Type":"lemonban.v2"}data = {"mobile_phone":"13712341280","pwd":"12345678"}#一定要添加header关键字参数,不能以位置参数传递#因为放到了可变长参数里边#data 关键字参数表示   表单格式x-www-form-urlencodedres = requests.post(url,data=data,headers=headers)print(res.json())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

传入参数params

params=data,params 参数就是表示 query string(就是放在url参数里边)

import requestsurl = 'http://120.78.128.25:8766/futureloan/member/register'headers = {"X-Lemonban-Media-Type":"lemonban.v2"}data = {"mobile_phone":"13712341280","pwd":"12345678"}#一定要添加header关键字参数,不能以位置参数传递#因为放到了可变长参数里边#params 参数就是表示 query stringres = requests.post(url,params=data,headers=headers)print(res.json())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

总结

后续继续修正。
最后三个例子摘自https://blog.csdn.net/guiyin1150/article/details/109191783

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发