web-dev-qa-db-fra.com

Python Requests - passer le paramètre via GET

J'essaie d'appeler une API et de lui transmettre certains paramètres.

Mon point de terminaison devrait ressembler à:

https://example.com?q=food la nourriture est le paramètre

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

Lorsque j'imprime r.url, je n'obtiens pas le résultat correct - la valeur n'est pas transmise.

Actualisé:

Erreur:

  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)

Mettre à jour:

Réponse publiée ci-dessous. Je vous remercie.

Remarque: L'erreur SSL mentionnée dans le message était due à mon exécution de Python 2.7. J'ai utilisé python3 et cela a résolu le problème.

5
Cody Raspien

Voici le code approprié pour effectuer un appel GET http à partir de documentation officielle

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

Afin de l'adapter à votre demande spécifique:

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

Voici le résultat obtenu si je lance le 2ème exemple:

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"}
12
Pitto