像解析url一样请求.Request.url准备了什么

2024-05-04 06:03:27 发布

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

我正在测试一些ajax请求。 我准备了一个登录session,想要get请求

样本输入:

GET:
/ajax/uri
Params:
context:{JSON_STRING}

样本输出:

url/ajax/uri?context=_QUOTED_JSON_STRING

我可以这样得到输出:

r = requests.Request(url='url/ajax/uri', method='get', params={'context':JSON_STRING})
url = r.prepare().url
# next step: session.get(url)

我想知道是否有一个更优雅和简单的方法来做这件事,因为我只想要准备好的网址。任何帮助都将不胜感激。你知道吗


Tags: jsonurlgetstringrequestsessioncontextajax
2条回答

http://docs.python-requests.org/en/latest/user/advanced/

s.get('url/ajax/uri', params={'context':JSON_STRING})

如果您只需要URL,可以使用urlencode对GET参数进行编码,您的值可以是JSON字符串

>>> import urllib
>>> 'url/ajax/uri?%s' % urllib.urlencode({'key1': 'value1', 'key2': 'value2'})
'url/ajax/uri?key2=value2&key1=value1'

相关问题 更多 >