使用CoAP认证时,如何将认证信息放置于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的请求参数。

原来如此,我实际上是指图上的这些参数如果有特殊符号怎么办,不是通过HTTP API创建,是创建好在使用的过程中:

哦哦,我懂你意思了,不过用那个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.

好的,我会试试使用这个,谢谢解答!