代码之家  ›  专栏  ›  技术社区  ›  Cody Raspien

python请求-通过get[closed]传递参数

  •  2
  • Cody Raspien  · 技术社区  · 7 年前

    我试图调用一个api并向它传递一些参数。

    我的终点应该是:

    https://example.com?q=food 食物是参数

    import requests
    parametervalue = "food"
    r = requests.get("https://example.com/q=", parametervalue)
    

    当我打印r.url时,我没有得到正确的结果-该值未被传递。

    更新:

    错误:

      r = requests.get('https://example.com', params={'1':parametervalue})
      File "/usr/lib/python2.7/dist-packages/requests/api.py", line 55, in get
      return request('get', url, **kwargs)
    

    更新:

    答案贴在下面。谢谢您。

    注意:文章中提到的ssl错误是由于我运行python 2.7造成的。我用了python3,它解决了这个问题。

    1 回复  |  直到 7 年前
        1
  •  10
  •   Pitto    6 年前

    下面是从 official documentation

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

    为了适应您的具体要求:

    import requests
    payload = {'q': 'food'}
    r = requests.get('http://httpbin.org/get', params=payload)
    print (r.text)
    

    下面是我运行第二个示例得到的结果:

    python request_test.py
    {"args":{"q":"food"},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate","Connection":"close","Host":"httpbin.org","User-Agent":"python-requests/2.18.1"},"origin":"62.182.241.13","url":"http://httpbin.org/get?q=food"}