使用环境:m1芯片macbook pro
调用 biz.util.openLink方法打开带#号链接会把#转义变成转义字符%23,造成域名解析错误
在钉钉中,biz.util.openLink
方法用于打开外部链接,如果你在链接中包含特殊字符如井号 #
,它会被URL编码转换成 %23
,这是因为井号 #
在URL中具有特定含义,它用于表示页面内的锚点或者在某些情况下用于表示哈希路由。
当你遇到域名解析错误时,这可能并不是因为井号被转义造成的,因为 %23
在URL解析中应当被识别为其对应的原始字符 #
。但是,如果你的链接是在服务器端依赖于原始 #
字符的特定格式来解析路径或参数,那么转义后可能确实会导致服务器端逻辑处理异常。
解决方法通常是:
确认你提供的URL在经过编码后,服务器端依然能正确识别和处理 %23
。
如果服务器端不支持转义后的 %23
,则需要检查钉钉API文档,看是否有提供传递原始 #
字符的方法。不过通常来说,URL内部的任何特殊字符都应该被正确编码,这是标准做法。
如果你是想通过 #
分隔不同的查询参数或路由片段,应改用 ?
作为查询参数分隔符,并确保整个URL的结构符合HTTP规范。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。