How can I create a percent encoded URL from complete URL?(如何从完整的URL创建百分比编码的URL?)
本文介绍了如何从完整的URL创建百分比编码的URL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
输入的URL是ASCII和多字节代码的混合。
我不能改变这根弦。
我想下载此URL,但ordinal not in range(128)出错。
input_url = "http://sample.jp/api?v1=aaa&v2=日本語&v3=ccc"
req = urllib.request.Request(input_url)
resp = None
try:
resp = urllib.request.urlopen(req)
except UnicodeEncodeError as e:
print(e.reason) # I had an error `ordinal not in range(128)`
return resp
首先,我尝试urllib.parse.quote(),但结果是http%3a%2f%2fsample%2ejp%2fapi%3fv1%3daaa%26v2%3d%93%fa%96%7b%8c%ea%26v3%3dccc。我有另一个错误ValueError: unknown url type。
我如何才能解决这个问题?还是你有什么想法?
推荐答案
urllib和urlparse的组合应该可以为您完成此操作:
>>> urllib.urlencode(urlparse.parse_qsl(urlparse.urlparse(input_url).query))
'v1=aaa&v2=%E6%97%A5%E6%9C%AC%E8%AA%9E&v3=ccc'
这篇关于如何从完整的URL创建百分比编码的URL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:如何从完整的URL创建百分比编码的URL?
基础教程推荐
猜你喜欢
- Discord.py 缺少必需的参数 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
