设备需事先连网,将把HTTP POST请求发送至一个假的在线测试REST API
在此示例中,一条post对应一个表示用户写的(如在网站中)post的虚拟对象。另一方面,POST是我们将要使用的HTTP方法。
导入urequests模块,以获取执行HTTP POST请求所需的函数。
import urequests
post函数发送请求。此函数以要发送HTTP post请求的URL作为输入值,其还可接收键-参数列形式的其他参数。
post函数是在其函数体部分调用request函数,此函数调用将返回一个Response类的对象,将其存储在变量中,以便稍后处理HTTP请求的结果。
即使我们继续发送请求,响应仍将保持不变,因为我们面对的是假的测试API。
response = urequests.post("http://jsonplaceholder.typicode.com/posts", data = "some dummy content")
print(response.text)
print(response.json())
在MicroPython中获取请求的响应内容,为此只需访问Response对象的text属性即可。由于响应类型为JSON,因此我们还可以视其为内容已解析的字典对象,通过Response对象(其在实现中使用ujson库)的json函数检索该响应。
获取的原始响应既可以是字符串格式,也可以是已解析的JSON对象。
import urequests
并将请求目标的URL作为输入值传递。调用get函数将返回一个Response类对象。
我们要通过HTTP GET请求访问的网站URL是http://jsonplaceholder.typicode.com/albums/1,你可以通过在web浏览器上访问该网站来查看预期结果。访问该网站时,这是虚拟相册对象的JSON结构。
response = urequests.get('http://jsonplaceholder.typicode.com/albums/1')
print(type(response))
要访问HTTP请求响应的实际内容,只需访问其text属性。此属性会返回包含内容的字符串。
print(response.text)
print(type(response.text))
该属性会返回包含已解析内容的字典。
parsed = response.json()
print(type(parsed))
通过字典对象上值的键来获取每个单独的JSON值。
V print(parsed["userId"])
print(parsed["id"])
print(parsed["title"])
另一个检索请求响应内容的方法是使用以字节为单位返回响应的content属性,以字节为单位。
print(response.content)
print(type(response.content))
获取状态代码 和该代码的原因文本。
print(response.status_code)
print(response.reason)