尝试使用Python request.put更新Openhab的restapi中的值时出现错误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

我正在尝试使用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_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