HTTP传递数据的几种方法
2016-12-19 18:17
351 查看
Http请求的时候,需要传递参数给后端,一般都是key-value的形式,传递的方法有很多种
例如需要传递的数据是
dict(key1=value1,key2=value2)
例如:
http://www.baidu.com?key1=value1&key2=value2;
对应requests模块的params参数。例如
Flask框架中,通过form或者values获取请求数据,例如
整个HTTP请求内容是这样的:
把参数放在请求体中,使用--webkit这些协议包裹。由于需要用到请求体,所以不支持GET Method。
Flask框架中,通过form或者values获取请求数据,例如
即把传递数据转换为URL参数的形式,然后放在请求体中,而不是请求的URL中。
同时需要加入请求头:
整个请求内容
对应requests的data参数。例如
Flask框架中,通过form或者values获取请求数据,例如
设置请求头:
整个请求内容
对应requests模块的json参数。例如
Flask框架中,通过json获取请求数据,例如
其他
通过Google的拓展程序POSTMAN,可以模拟发送HTTP请求
requests查看请求头和请求体:
博文为作者原创,未经允许,禁止转载。
例如需要传递的数据是
dict(key1=value1,key2=value2)
1. URL参数
把参数放在URL中,适用于所有的HTTP请求Method,例如GET,POST例如:
http://www.baidu.com?key1=value1&key2=value2;
对应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
博文为作者原创,未经允许,禁止转载。
相关文章推荐
- HTTP传递数据的几种方法
- C#中窗体间传递数据的几种方法
- 一道面试试题:试介绍ASP.NET页面之间数据传递的几种方法
- 窗体间数据传递的几种方法(转至论坛,钢之代码东东的回帖)
- ASP.NET 页面间数据传递的几种方法
- Android中Activity之间数据传递的几种方法总结
- ASP.NET页面间数据传递的几种方法
- C#中窗体间传递数据的几种方法
- 使用xmlhttp.send()方法的参数来传递大容量的数据
- 细说ASP.NET页面间数据传递的几种方法
- 在Asp.net的页面之间传递数据的几种方法
- C#中窗体间传递数据的几种方法
- 页面间传递数据的几种方法
- 总结C#中窗体间传递数据的几种方法 (由别人的方法整理)
- C#中窗体间传递数据的几种方法
- 对.NET中导出数据到EXCEL的几种方法探讨[转]。http://hi.baidu.com/lanxmail/blog/item/82b3e1bf8608ca0b18d81f12.html
- 写通过POST方法向HTTP接口传递数据的程序
- C#中窗体间传递数据的几种方法
- 总结C#中窗体间传递数据的几种方法
- 使用xmlhttp.send()方法的参数来传递大容量的数据