【问题标题】:Python Requests - pass parameter via GET [closed]Python请求-通过GET传递参数[关闭]
【发布时间】:2018-06-07 09:34:59
【问题描述】:

我正在尝试调用 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,它解决了这个问题。

【问题讨论】:

  • 先阅读文档以节省大量时间...docs.python-requests.org/en/master/user/quickstart/…
  • 说真的,在文档的第一个页面中,您可以阅读所有字母“在 url 中传递参数”。你有没有费心阅读文档?
  • 我投票结束这个问题作为离题,因为 OP 甚至没有费心阅读文档。
  • 我做到了。我得到了错误:
  • r = requests.get('example.com', params={'1':parametervalue}) 文件“/usr/lib/python2.7/dist-packages/requests/api.py ",第 55 行,在 get return request('get', url, **kwargs)

标签: python get request python-requests


【解决方案1】:

这是从official documentation 执行 GET http 调用的相关代码

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":"x.y.z.a","url":"http://httpbin.org/get?q=food"}

【讨论】:

  • r = requests.get('example.com', params={'1':parametervalue}) 文件 "/usr/lib/python2.7/dist-packages/requests/api.py ",第 55 行,在 get return request('get', url, **kwargs)
  • 请检查我的解决方案的编辑,@CodyRaspien
  • 我明白了 - 谢谢。因为我使用的是 Python2,所以我也遇到了 SSL 错误。切换到 3 解决了这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-07
  • 2018-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-03
相关资源
最近更新 更多