python,ntchat模块的send_link_card方法,为什么会自动删除链接中的&字符?

如题。使用ntchat模块发送网页链接卡片,如果网址url中带有&字符,会被自动删除,导致发出去的链接无法正常显示。请问有大佬遇到过类似问题吗?该如何…
关注者
2
被浏览
273

1 个回答

在发送带有特殊字符(如 &)的URL时,可能需要对URL进行编码,以避免特殊字符被错误处理。在Python中,可以使用 urllib.parse 模块中的 quote 函数对URL进行编码。

请尝试将您的代码修改为以下内容:

import ntchat
from urllib.parse import quote
wx = ntchat.WeChat()
wx.open(smart=True)
wx.wait_login()
url = 'http://mp.weixin.qq.com/s?__biz=MzAwNDY2MDUxMA==&mid=2651694272&idx=1&sn=d09d05600d83e5204257154e26ec81b9&chksm=80d188b1b7a601a71c7456b80ac73e57c6f0be04f9dae6efadb481ea9df76bfea126de7f60c0#rd'
encoded_url = quote(url, safe=':/?#=&')  # 对URL进行编码,保留特殊字符
wx.send_link_card(