如何解码python-requests URL?

时间:2016-06-04 16:15:15

标签: python python-requests

我知道如果我想发送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来解码网址,并将其解析为字符串?

1 个答案:

答案 0 :(得分:1)

使用urlparse module(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