Problem Formulation: How to perform an HTTP get call in Python?
Solution: Use Python’s requests
library.
import requests payload = {'param_1': 'value_1', 'param_2': 'value_2'} r = requests.get('http://example.com/', params=payload)
This is semantically equivalent to issuing an HTTP get call:
http://example.com?param_1=value_1¶m_2=value_2
In fact, you can obtain this exact URL by using the r.url
attribute on the request object:
print(r.url) # http://example.com?param_1=value_1¶m_2=value_2
You can find the text response by using the r.text attribute of the request object:
print(r.text) # [... return value from server ...]
Alternatively, if you expect a json
object, you can also do:
print(r.json()) # [{... returned json object ... }]
Try it yourself in our interactive Jupyter Notebook with Google Colab:
Resources:
- https://2.python-requests.org/en/master/api/#requests.Response
- https://2.python-requests.org/en/master/user/quickstart/#passing-parameters-in-urls
- https://stackoverflow.com/questions/5767464/what-is-the-syntax-for-adding-a-get-parameter-to-a-url
- https://stackoverflow.com/questions/50737866/python-requests-pass-parameter-via-get