протокол coap get метод использования python - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь запустить приложение с coap, но я новичок. Я использую библиотеку Python Coapthon3. Но я хочу получить полезные данные из библиотеки, используя путь кодирования. Но я не мог этого сделать. Мой клиентский код выглядит следующим образом. Спасибо

from coapthon.client.helperclient import HelperClient

host = "127.0.0.1"
port = 5683
path = "encoding"
payload = 'text/plain'

client = HelperClient(server=(host, port))
response = client.get(path + 'application/xml' + '<value>"+str(payload)+"</value>')
client.stop()

1 Ответ

0 голосов
/ 06 ноября 2018

Нет, вы не должны объединять все вещи на пути.

К сожалению HelperClient # get не предоставляет возможности указать полезную нагрузку, хотя это довольно легально в соответствии со спецификацией CoAP.

Таким образом, вам нужно создать запрос и заполнить все необходимые поля и использовать метод send_request .

Полагаю, мой фрагмент не такой питонский, поэтому, пожалуйста, потерпите меня.

from coapthon.client.helperclient import HelperClient
from coapthon.messages.request import Request
from coapthon import defines

host = "127.0.0.1"
port = 5683
path = "encoding"
payload = 'text/plain'

client = HelperClient(server=(host, port))

request = Request()
request.code = defines.Codes.GET.number
request.type = defines.Types['NON']
request.destination = (host, port)
request.uri_path = path
request.content_type = defines.Content_types["application/xml"]
request.payload = '<value>"+str(payload)+"</value>'
response = client.send_request(request)

client.stop()
...