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: 失败