Python请求。get()获取错误消息无效

2024-09-28 01:26:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图用Python编写一个简单的脚本,请求API从比特币挖掘机获取响应。我需要请求一个特定的JSON键和值{“command”:“summary”}。我将从JSON有效负载中提取数据,以监视Zabbix上的一些机器

如果我用bash发送请求,如下所示:

# echo '{"cmd":"summary"}' | timeout 1.5 nc IPADDRESS PORT

我将获得我需要的数据,我甚至可以使用tr、sed和jq使用bash处理它

然而,如果我用Python脚本发送请求,我总是得到“无效消息”。我更愿意使用Python,因为我正在学习,我可以想象我的错误是相当愚蠢的。 这是python代码

#!/usr/bin/python3
import sys
import logging
import requests
import json
server = 'http://10.136.132.140:4028'
payload = {
"command":"summary"
}

jsonpayload = json.dumps(payload)
print(payload)
print(jsonpayload)
response = requests.get(server,
jsonpayload
)
print(response.json())

不管我做什么都不行。我已经尝试直接使用有效负载作为请求的参数。只发送字符串。什么都不管用。每次我都收到同样的无效消息。我已尝试键入response=requests.get('http://IPADDRESS:PORT“,“{”命令“:“summary”}”)直接,单引号或双引号的任何可能组合。。。什么都不管用

当我调用它时,有三个例外。重要的回溯如下:

http.client.BadStatusLine: STATUS=E,When=1608811559,Code=14,Msg=invalid cmd,Description=whatsminer v1.1

urllib3.exceptions.ProtocolError: ('Connection aborted.', BadStatusLine('STATUS=E,When=1608811559,Code=14,Msg=invalid cmd,Description=whatsminer v1.1'))

raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine('STATUS=E,When=1608811559,Code=14,Msg=invalid cmd,Description=whatsminer v1.1'))

我做错了什么? 提前谢谢你的帮助


Tags: importcmdjsonhttpresponsestatuscodemsg

热门问题