HTTP传递数据的几种方法
Http请求的时候,需要传递参数给后端,一般都是key-value的形式,传递的方法有很多种
例如需要传递的数据是
dict(key1=value1,key2=value2)
1. URL参数
把参数放在URL中,适用于所有的HTTP请求Method,例如GET,POST
例如:
对应requests模块的params参数。例如result=requests.post(url,params=data)
Flask框架中,通过form或者values获取请求数据,例如request.args.get('key1')
2. Form-data
也就是通过HTML的FORM标签,传递数据给后端的方法 整个HTTP请求内容是这样的:
POST /test?url_key=value1 HTTP/1.1 Host: 192.168.137.130 Cache-Control: no-cache ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="key1" value1 ----WebKitFormBoundaryE19zNvXGzXaLvS5C Content-Disposition: form-data; name="key2" value2 ----WebKitFormBoundaryE19zNvXGzXaLvS5C
把参数放在请求体中,使用--webkit这些协议包裹。由于需要用到请求体,所以不支持GET Method。
Flask框架中,通过form或者values获取请求数据,例如request.form.get('key1')
3. x-www-form-urlencoded
跟form-data类似,也是把传递的数据放在请求体,不过请求体的形式相对简单,跟URL参数的形式一样。
即把传递数据转换为URL参数的形式,然后放在请求体中,而不是请求的URL中。
同时需要加入请求头:
Content-Type: application/x-www-form-urlencoded
整个请求内容
POST /test?url_key=value1 HTTP/1.1 Host: 192.168.137.130 Cache-Control: no-cache Content-Type: application/x-www-form-urlencoded key1=value1&key2=value2
对应requests的data参数。例如result=requests.post(url,data=data)
Flask框架中,通过form或者values获取请求数据,例如request.form.get('key1')
4. JSON
请求体放JSON格式的传递数据 设置请求头:
Content-Type: application/json
整个请求内容
POST /test?url_key=value1 HTTP/1.1 Host: 192.168.137.130 Content-Type: application/json Cache-Control: no-cache {"key2": "value2", "key1": "value1"}
对应requests模块的json参数。例如result=requests.post(url,json=data)
Flask框架中,通过json获取请求数据,例如request.json.get('key1')
其他
通过Google的拓展程序POSTMAN,可以模拟发送HTTP请求
requests查看请求头和请求体:
url='http://192.168.137.130/test' data=dict(key1='value1',key2='value2') result=requests.post(url,json=data) print result.request.headers print result.request.body
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 7连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 8CSS实现悬浮顶部的Div工具栏
- 9service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 10Thinkphp3.2在centos7上设置计划任务的方法