Python将查询参数附加到url以进行API调用的最佳实践是什么

2024-04-26 07:18:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这听起来很奇怪。让我解释一下。你知道吗

我有一个保持一致的域,比如https://some.api.endpoint/some/path

我有一个不同的查询列表,我需要调用它。一种方法是简单地连接字符串,但我必须处理编码,这是我尽量避免的。你知道吗

所以我决定使用urlparse->;urlunprase。我不确定这是否是一个好的做法,但这可以工作。你知道吗

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)

我的问题:

  1. 这是个好习惯吗?你知道吗
  2. 如果没有urlunparse部分可以这样做?你知道吗
  3. 有什么更好的办法吗?你知道吗

Tags: path方法字符串httpsapiurl编码列表
1条回答
网友
1楼 · 发布于 2024-04-26 07:18:29

requests文档中,可以将字典传递给requests.getparams关键字参数。http://docs.python-requests.org/en/master/user/quickstart/

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('http://httpbin.org/get', params=payload)

它将为您处理url编码和所有内容。你知道吗

来自上述代码段的结果:

print(r.url)
# http://httpbin.org/get?key2=value2&key1=value1

相关问题 更多 >