使用的EMQX版本:emqx:5.0.4
按照文档:https://www.emqx.io/docs/zh/v5.0/gateway/coap.html
进行创建连接认证时,由于认证的密码里面有一些&,|等特殊字符,无法放置于Query中,请问目前如何实现将其放置于Payload
使用的EMQX版本:emqx:5.0.4
按照文档:https://www.emqx.io/docs/zh/v5.0/gateway/coap.html
进行创建连接认证时,由于认证的密码里面有一些&,|等特殊字符,无法放置于Query中,请问目前如何实现将其放置于Payload
有特殊字符也没关系,只要做了urlencode。
比如在这个在线的网站就可以做:
好的,我尝试一下,因为据我所知,CoAP并没有和URL类似的URL encode规范
这是通过HTTP API创建CoAP,里面带有COAP的创建参数是通过HTTP 传过来的,所以要用URL encode HTTP的请求参数。
哦哦,我懂你意思了,不过用那个encode应该没问题。
就是要用precent-decode (urlencode):
但是看上去,并不推荐有特殊字符。
https://github.com/emqx/emqx-coap/issues/53
libcoap/coap-client is able to percent-decode special characters in clientid, username and password since it is query in a URI. It is recommended not to use special characters in clientid, username and password.
好的,我会试试使用这个,谢谢解答!