【发布时间】:2022-01-14 17:51:38
【问题描述】:
要向 Telegram 发送消息,我使用此模板:
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}
urlphoto = f'http://127.0.0.1:0001/Home/Site%20de%20Trabalho%20-%20Home.html'
botalert = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
chatalert = 'yyyyyyyyyyyyyyyy'
urlalert = f"https://api.telegram.org/bot" + botalert + "/sendMessage?text=" + urlphoto + "&chat_id=" + chatalert + "&parse_mode=HTML"
requests.get(urlalert, headers=headers)
但是当发送消息时,那里收到的链接并没有组合在一起,因为%20 被转换为空格:
我应该如何进行才能使链接像这样完美传递:
http://127.0.0.1:0001/Home/Site%20de%20Trabalho%20-%20Home.html
【问题讨论】:
-
如果这是您的网站,请停止在 URL 中使用空格 - 它总是只会造成问题。
-
如果它将
%20转换为space,那么可以尝试%%20,它可能会将其转换为%20 -
嗨@furas 这是非常正确的,不幸的是在这种情况下我将无法更改,现在我发现自己遇到了这个问题!
-
如果我使用
urllib.parse.quote(' '),那么它将它转换为%20,如果我使用urllib.parse.quote('%20'),那么它将它转换为%2520——所以也许你应该使用%2520代替@ 987654335@ 它将unquote代码%2520到%20
标签: python telegram telegram-bot python-telegram-bot