解析网址就像requets.Request.url那样准备好了

时间:2015-07-03 07:15:29

标签: python python-2.7 python-requests

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

示例输入:

  

GET:
  / AJAX / URI
  PARAMS:
  上下文:{JSON_STRING}

示例输出:

  

URL / AJAX / URI?上下文= _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)

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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