如何使用python将url字符串转换为安全字符?

时间:2012-08-22 22:33:24

标签: python

假设我有以下字符串:

"http://earth.google.com/gallery/kmz/women_for_women.kmz?a=large"

是否有一些函数或模块能够将上面的字符串转换为下面的字符串,其中所有字符都被更改为符合url:

"http%3A%2F%2Fearth.google.com%2Fgallery%2Fkmz%2Fwomen_for_women.kmz%3Fa%3Dlarge"

在python中执行此操作的最佳方法是什么?

3 个答案:

答案 0 :(得分:15)

Python 2的urllib.quote_plus和Python 3的urllib.parse.quote_plus

url = "http://earth.google.com/gallery/kmz/women_for_women.kmz?a=large"
# Python 2
urllib.quote_plus(url)
# Python 3
urllib.parse.quote_plus(url)

输出:

'http%3A%2F%2Fearth.google.com%2Fgallery%2Fkmz%2Fwomen_for_women.kmz%3Fa%3Dlarge'

答案 1 :(得分:3)

在Windows平台上可用

#! python3.6
from urllib.parse import quote


# result: http://www.oschina.net/search?scope=bbs&q=C%E8%AF%AD%E8%A8%80
quote('http://www.oschina.net/search?scope=bbs&q=C语言',safe='/:?=&')

答案 2 :(得分:2)

您在寻找urllib.quote还是urllib.quote_plus?请注意,您没有引用问题中提到的整个url字符串。您通常引用路径中的部分或查询字符串之后的部分。无论您将在应用程序中使用哪种。