coap 协议 get 方法使用 python
coap protocol get method use python
我正在尝试 运行 使用 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()
不,您不应该将所有内容连接到路径。
不幸的是,HelperClient#get 不提供指定有效负载的能力,尽管根据 CoAP 规范,这是相当合法的。
因此您需要创建一个请求并填写所有需要的字段,并使用send_request方法。
我想我的代码片段不是 Python 风格,所以请多多包涵。
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()
我正在尝试 运行 使用 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()
不,您不应该将所有内容连接到路径。
不幸的是,HelperClient#get 不提供指定有效负载的能力,尽管根据 CoAP 规范,这是相当合法的。
因此您需要创建一个请求并填写所有需要的字段,并使用send_request方法。
我想我的代码片段不是 Python 风格,所以请多多包涵。
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()