Parse url like requets.Request.url which prepared

Parse url like requets.Request.url which prepared

我正在测试一些 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)

我想知道是否有更优雅、更简单的方法来做这件事,因为我只想要准备好的 url。任何帮助将不胜感激。

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

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

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

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