簡體   English   中英

嘗試使用Python request.put更新Openhab的Rest API中的值時獲取錯誤404

[英]Getting error 404 while trying to update a value in Rest API of Openhab using Python request.put

我正在嘗試使用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'}

這是使用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”的打印對於調試目的很有用,並且可以在腳本正常工作后刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM