2017-07-30 105 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

谢谢:) 它的工作 –