2017-07-30 149 views
-2

是否有一個過程發送沒有硬編碼端點和主題名稱的HTTP POST消息。 我能夠將消息作爲變量而不是端點和主題。Python中的Python IoT HTTP POST請求?

此代碼工作絕對沒問題:

import requests 

caPath = "aws-iot-rootCA.crt" 
certPath = "cert.pem.crt" 
keyPath = "privkey.pem.crt" 

parameters = (
    ('qos', '1'), 
) 
payload= """{ 
    "message": "Hello" 
}""" 

r = requests.post('https://******endpoint*****.us-west-2.amazonaws.com:8443/topics/TopicName', 
    params=parameters,,data=payload, 
    cert=(certPath,keyPath,caPath)) 

但如何讓主題名稱和AWS端點變量?

回答

0

將主題名稱和AWS端點存儲爲變量&將它們連接起來形成url。在發佈請求中使用它。

endpoint='https://******endpoint*****.us-west-2.amazonaws.com:8443' 
topic='TopicName' 
url= endpoint+'/topics/'+topic 
r= requests.post(url,params=parameters) 

您可以根據需要在POST請求(證書,數據等)中傳遞其他參數。

+0

謝謝:) 它的工作 –