如何解码 python-requests URL



我知道如果我想发送HTTP请求,我可以在发送之前将其形成字典:

payload = dict(
    username="something",
    password="something_else"
)
r = requests.get('http://example.com', params=payload)

它是否也起到相反的作用?如果我的请求碰巧将我重定向到另一个 URL,我可以看到我被重定向到的位置:

print r.url

但是,如果该 URL 恰好是这样的:

http://example.com/somepage.htm?varone=test&vartwo=3451&varthree=something

我碰巧想从该 URL(字符串 3451)中提取 vartwo,请求模块是否仅通过指定我想要"vartwo"的值来提供任何简单的方法来执行此操作?另一个字典,或者某种映射对象?或者我唯一的选择是使用 urllib.unquote 解码 url,并将其解析为字符串?

使用 urlparse 模块(Python 2.x;在 Python 3.x 中,它被重命名为 urllib.parse)。

from urlparse import urlparse
url = 'http://www.gurlge.com:80/path/file.html;params?a=1#fragment'
o = urlparse(url)
print o.params

最新更新