尝试使用Python request.put更新Openhab的restapi中的值时出现错误404
我正在尝试使用Python中的requests.put更新openhab的REST API中的一个值。但我得到了错误404 我的代码复制到下面尝试使用Python request.put更新Openhab的restapi中的值时出现错误404,python,json,rest,Python,Json,Rest,我正在尝试使用Python中的requests.put更新openhab的REST API中的一个值。但我得到了错误404 我的代码复制到下面 import requests import json from pprint import pprint TemperatureA_FF_Office = 20 headers = {'Content-type': 'application/json'} payload = {'state' : TemperatureA_F
import requests
import json
from pprint import pprint
TemperatureA_FF_Office = 20
headers = {'Content-type': 'application/json'}
payload = {'state' : TemperatureA_FF_Office}
payld = json.dumps(payload)
re = requests.put("http://localhost:8080/rest/items/TemperatureA_FF_Office
/state/put", params= payld, headers = headers)
pprint(vars(re))
我得到的错误代码是
{'_content': '',
'_content_consumed': True,
'connection': <requests.adapters.HTTPAdapter object at 7fd3b55ec9d0>,
'cookies': <<class 'requests.cookies.RequestsCookieJar'>[]>,
'elapsed': datetime.timedelta(0, 0, 4019),
'encoding': None,
'history': [],
'raw': <urllib3.response.HTTPResponse object at 0x7fd3b55ecd90>,
'reason': 'Not Found',
'request': <PreparedRequest [PUT]>,
'status_code': 404,
'url': u'http://localhost:8080/rest/items/TemperatureA_FF_Office/state/put?state=21.0'}
{“内容”:“,
“_content_consumered”:正确,
“连接”:,
“饼干”:,
“已用”:datetime.timedelta(0,0,4019),
“编码”:无,
“历史”:[],
“原始”:,
'原因':'未找到',
“请求”:,
“状态代码”:404,
'url':u'http://localhost:8080/rest/items/TemperatureA_FF_Office/state/put?state=21.0'}
这是使用requests.put的方法吗?请帮助。尝试以下方法:
import requests
req = "http://localhost:8080/rest/items/YOUR_SENSOR_HERE/state"
val = VARIABLE_WITH_YOUR_SENSOR_DATA
try:
r = requests.put(req,data=val)
except requests.ConnectionError as e:
r = "Response Error"
print e
print r
这是我正在使用的状态检测和温度脚本的一个大规模简化版本
“r”和“e”的打印对于调试非常有用,一旦脚本正常工作,就可以将其删除。您能更好地格式化代码吗?它不是很容易阅读;在那之后你肯定会得到更多的答案。问候。检查指向api的url。使用浏览器确保找不到url:/state/put