我知道乍一看听起来很奇怪。让我解释一下。
我的域名保持一致,例如https://some.api.endpoint/some/path
我有一个需要调用的不同查询的列表。一种实现方法是简单地连接字符串,但随后我不得不处理编码,这是我想避免的事情。
所以我决定继续使用urlparse-> urlunparse。我不确定这是否是个好习惯,但这可以奏效。
url = 'https://some.api.endpoint/some/path'
parsed = urlparse(url)
parsed=parsed._replace(query='search=some_name')
new_url = urlunparse(parsed)
response = requests.get(new_url)
我的问题:
urlunparse
部分就可以这样做吗? 答案 0 :(得分:3)
从requests
文档中,您可以将字典传递给params
的{{1}}关键字参数。 http://docs.python-requests.org/en/master/user/quickstart/
requests.get
这将为您处理url编码和所有内容。
以上代码段的结果:
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('http://httpbin.org/get', params=payload)