首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何不让调用将%20转换为单词之间的空格

如何不让调用将%20转换为单词之间的空格
EN

Stack Overflow用户
提问于 2021-12-09 22:48:42
回答 3查看 213关注 0票数 0

要向Telegram发送消息,我使用以下模板:

代码语言:javascript
复制
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被转换成空格:

我应该怎样做才能将链接完美地交付如下:

代码语言:javascript
复制
http://127.0.0.1:0001/Home/Site%20de%20Trabalho%20-%20Home.html
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-12-10 00:39:08

使用参数字典,参数将为您正确编码:

代码语言:javascript
复制
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'
params = {'text':urlphoto, 'chat_id':chatalert, 'parse_mode':'HTML'}
requests.get(urlalert, headers=headers, params=params)
票数 2
EN

Stack Overflow用户

发布于 2021-12-09 23:05:40

您可以像这样定义You照片:

代码语言:javascript
复制
urlphoto = f'http://127.0.0.1:0001/Home/Site%20de%20Trabalho%20-%20Home.html'.replace('%20', '%2520')

这将打印百分之二十之后的签名。

票数 2
EN

Stack Overflow用户

发布于 2021-12-09 23:02:11

试试这个:

代码语言:javascript
复制
import requests
from requests.utils import quote

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 = '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"
requests.get(urlalert, params=quote(f"?text={urlphoto}&chat_id={chatalert}&parse_mode=HTML"), headers=headers)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70297704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档