我正在尝试写入 Mongodb 数据库。 当我提出请求时,我收到错误
HTTP error: BadStatusLine: []
。 我正在使用 ESP32S3 和 Micropython v1.23.0。
我的代码:
import json
import requests
def insert_one(data:list = []) -> None:
try:
# Need to substitute from DATA API
url = "https://eu-central-1.aws.data.mongodb-api.com/app/data-zjbrnke/endpoint/data/v1/action/insertOne"
headers = {"api-key": "TOKEN"}
payload = {
"dataSource": "Cluster0",
"database": "main",
"collection": "main",
"document": {'teste': 'test'},
}
print("sending...")
response = requests.post(url, headers=headers, data=json.dumps(payload), timeout=20)
print("Response: (" + str(response.status_code) + "), msg = " + str(response.text))
if response.status_code == 201:
print("Added Successfully")
else:
print("Error")
# Always close response objects so we don't leak memory
response.close()
except Exception as e:
print(f'error: {e}')
我尝试将 json 更改为 data,以及其他一些小的更改,但没有给出任何内容。
我认为首先你应该添加
"content-type": "application/json"
标头并看看会发生什么。然后尝试打印响应对象并检查有效的响应代码是否可用。
Exception
- HTTPException 的子类。如果服务器响应我们不理解的 HTTP 状态代码,则会引发该异常。http.client.BadStatusLine