requests
Get
- import requests
-
- response = requests.get('https://api.github.com')
-
- if response.status_code == 200:
- print('Success!')
- elif response.status_code == 404:
- print('Not Found.')
-
- import requests
-
- response = requests.get('https://api.github.com/search/repositories',
- params={'q': 'requests+language:python'},
- headers={'Accept': 'application/vnd.github.v3.text-match+json'},
- )
-
- json_response = response.json()
- print(json_response)
-
Exception
- import requests
- from requests.exceptions import HTTPError
-
- try:
- response = requests.get('https://api.github.com/invalid')
- response.raise_for_status() # If the response was successful, no Exception will be raised
- except HTTPError as http_err:
- print(http_err)
-
- try:
- response = requests.get('https://api.github.com')
- response.raise_for_status() # If the response was successful, no Exception will be raised
- except HTTPError as http_err:
- print(http_err)
- else:
- print("success!")
-
Content
- import requests
- response = requests.get('https://api.github.com')
-
- print(response.content) # bytes string
-
- response.encoding = 'utf-8'
- print(response.text) # unicode string
-
- print(response.json()) # convert to json data
-
Headers
- import requests
- response = requests.get('https://api.github.com')
-
- print(response.headers)
-
Others
- import requests
-
- response = requests.post('https://httpbin.org/post', data={'key':'value'})
- print(response.text)
-
- response = requests.put('https://httpbin.org/put', data={'key':'value'})
- print(response.text)
-
- response = requests.delete('https://httpbin.org/delete')
- print(response.text)
-
- response = requests.head('https://httpbin.org/get')
- print(response.text)
-
- response = requests.patch('https://httpbin.org/patch', data={'key':'value'})
- print(response.text)
-
- requests.options('https://httpbin.org/get')
- print(response.text)
-
Inspections
- import requests
-
- response = requests.post('https://httpbin.org/post', json={'key':'value'})
- request = response.request
-
- print(request.headers);
- print(request.url)
- print(request.body)
-
Authentication
- #access by username and password
- import requests
-
- from getpass import getpass
- response = requests.get('https://api.github.com/user', auth=('username', getpass()))
-
- #access by token
- import requests
-
- headers = {
- 'Authorization': 'Bearer AAAAAAAAAAAAAAAAAAAAAIRWAwEAAAAALRrtvjL3wDGnv%2FuA0EO463TjzLc%3DzuLJ3ypKMwrp59WQ4fY6TuAKXN1jqq4VEj4TDx9AFAzWj9qeg4',
- }
-
- data = '{"query":"Valdosta State","maxResults":"100","fromDate":"201910200000","toDate":"201910310000"}'
-
- response = requests.post('https://api.twitter.com/1.1/tweets/search/30day/SearchThirtyDays.json', headers=headers, data=data)
-
Reference