http
— HTTP模块¶
该模块实现HTTP客户端的相关功能函数,包括连接,下载等功能如下所示。
http模块使用示例¶
request使用示例,需要先连接wifi网络
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
# coding=utf-8 import http import time succeed = False data = { 'url': 'https://www.ixigua.com/tlb/comment/article/v5/tab_comments/', 'method': 'POST', 'headers': { 'content-type':'application/x-www-form-urlencoded' }, 'timeout': 30000, 'params': 'tab_index=0&count=3&group_id=6914830518563373582&item_id=6914830518563373581&aid=1768' } cb_data = None def cb(data): global succeed global cb_data print('callback is called') cb_data = data succeed = True http.request(data,cb) while True: if succeed: break else: time.sleep(1) print("wait for callback") print(cb_data) print("http post succeed")
download使用示例,需要先连接wifi网络
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
# coding=utf-8 import http import time on_download = False d_data = { 'url': 'http://wangguan-498.oss-cn-beijing.aliyuncs.com/SHOPAD/public/mould5.png', 'filepath': '/data/http_download_test.png' } def d_cb(data): global on_download print(data) on_download = True http.download(d_data,d_cb) while True: if on_download: break else: time.sleep(1) print('waiting for download succeed') print('http_test end')
http模块接口列表¶
-
http.
request
(data_dict, callback)¶ 发起一个http请求
- 参数1: data_dict
设置请求的参数,类型为字典,字典的具体字段要求如下:
属性
类型
必填
说明
url
字符串
是
目标服务器URL,包括协议类型、地址、端口、URI等,比如http://appengine.oss-cn-hangzhou.aliyuncs.com/httpTest.txt
method
字典
是
支持GET,PUT,POST
headers
字典
是
设置请求的 HTTP 头对象,默认 {‘content-type’: ‘application/json’},该对象里面的 key 和 value 必须是 字符串
timeout
int
是
超时时间,单位是ms,默认是30000
params
string
是
请求的参数,可以为空字符串
- 参数2: callback
设置request调用结束的回调函数
- 返回值
0: 成功
None: 失败
-
http.
download
(data_dict, callback)¶ 通过http下载文件到本地
- 参数1: data_dict
设置http请求的参数
属性
类型
必填
说明
url
字符串
是
目标下载地址的URI,比如http://wangguan-498.oss-cn-beijing.aliyuncs.com/SHOPAD/public/mould5.png
filepath
字符串
是
需要保存的文件路径
- 参数2: callback
设置request调用结束的回调函数
- 返回值:
0: 成功
None: 失败