requests2 — 网络请求模块

requests2 基于 urequests,并支持 Streaming Uploads 和 x-www-form-urlencoded。

requests2 模块的主要功能与作用。

MicroPython 应用示例:

 1# SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8import requests2
 9
10
11label0 = None
12http_req = None
13
14
15def setup():
16    global label0, http_req
17
18    M5.begin()
19    Widgets.fillScreen(0x222222)
20    label0 = Widgets.Label("label0", 6, 6, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
21
22    http_req = requests2.get(
23        "https://httpbin.org/get", headers={"Content-Type": "application/json"}
24    )
25    label0.setText(str(http_req.text))
26
27
28def loop():
29    global label0, http_req
30    M5.update()
31
32
33if __name__ == "__main__":
34    try:
35        setup()
36        while True:
37            loop()
38    except (Exception, KeyboardInterrupt) as e:
39        try:
40            from utility import print_error_msg
41
42            print_error_msg(e)
43        except ImportError:
44            print("please update to latest firmware")

UiFlow2 应用示例:

example.png

cores3_http_get_example.m5f2

Function

requests2.request(method, url, data=None, json=None, headers={}) Response

发送网络请求,将阻塞直到网络返回响应数据,参数:

参数:
  • method (str) – 建立网络请求的方法,例如 HEADGETPOSTPUTPATCHDELETE

  • url (str) – 网络请求的 URL。

  • data – (可选)字典、元组列表 [(key, value)](将进行表单编码)、byte 或 class file 对象,将在请求正文中发送。

  • json – (可选)请求正文中发送的 JSON 数据。

  • headers (dict) – (可选),随请求发送的 HTTP 头字典。

requests2.head(url, **kw) Response

发送 HEAD 请求,返回类型为该请求的响应,参数:

参数:
  • url (str) – 网络请求的 URL。

  • kw – 请求可选参数。

requests2.get(url, **kw) Response

发送一个 GET 请求,返回类型为该请求的响应,参数:

参数:
  • url (str) – 网络请求的 URL。

  • kw – 请求可选参数。

UiFlow2:

get.png

requests2.post(url, **kw) Response

发送 POST 请求,返回类型为该请求的响应,参数:

参数:
  • url (str) – 网络请求的 URL。

  • kw – 请求可选参数。

UiFlow2:

post.png

requests2.put(url, **kw) Response

发送 PUT 请求,返回类型为请求的响应,参数:

参数:
  • url (str) – 网络请求的 URL。

  • kw – 请求可选参数。

UiFlow2:

put.png

requests2.patch(url, **kw) Response

发送 PATCH 请求,返回类型为请求的响应,参数:

参数:
  • url (str) – 网络请求的 URL。

  • kw – 请求可选参数。

UiFlow2:

patch.png

requests2.delete(url, **kw) Response

发送 DELETE 请求,返回类型为请求响应,参数:

参数:
  • url (str) – 网络请求的 URL。

  • kw – 请求可选参数。

UiFlow2:

delete.png

class Response

Methods

Response.headers
Type:

dict

Return the response header.

UiFlow2:

headers.png

Response.status_code
Type:

int

返回响应的状态码。

UiFlow2:

status_code.png

Response.close() None

关闭连接并释放资源。

UiFlow2:

close.png

property Response.content
Type:

dict

以字节(bytes)形式返回响应内容。

UiFlow2:

content.png

property Response.text
Type:

str

返回响应内容,类型为 str

UiFlow2:

text.png

Response.json() dict

{}

UiFlow2:

json.png