xxxxxxxxxx
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, }
xxxxxxxxxx
import requests
url = "https://somewebsite.com"
# Making a GET request
response = requests.get(url, params = payload)
# See URL
response.url
# See status code
response.status_code
# See request header
response.request.headers # Dictionary of HTTP response headers
# See request body
response.request.body
# See encoding
response.encoding
# See response as text
response.text
# Return the response in JSON format
response.json()
# Query string key-value pairs
response.json()['args']
# Store response as dataframe
df = pd.json_normalize(response.json())
# Split json key-value pairs list
json_data.get('key')
# Save content in a file
with open("filename.txt",'wb') as f:
f.write(response.content)
# Making a POST request
url_post = "https://somewebsite.com/post"
payload = {"January", "chocolate"}
post_req_obj = requests.post(url_post, data = payload) # sent as website/val1/val2
# Get payload
post_req_obj.json()['form']
xxxxxxxxxx
# requires pip install requests
import requests
# webpage url to sent request to
url = 'https://www.google.com'
# send get requests
x = requests.get(url=url)
# print status code of request
print(x.status_code)
# print webpage source code text
print(x.text)
# print webpage as json
print(x.json)
# print webpage headers
print(x.headers)
# send a get request and timeout if it takes longer than 2.5 seconds
x = requests.get(url=url, timeout=2.5)
# demonstrate how to use the 'params' parameter: query string
x = requests.get(url=url, params={"model": "Mustang"})
####################
# require pip install requests
import requests
url = 'https://www.google.com'
form_data = {'username': 'john', 'password': "pwd"}
# send post request
x = requests.post(url=url, json=form_data)
# send post request and timeout if it takes longer than 3 seconds
x = requests.post(url=url, json=form_data, timeout=3)
# use the 'auth' parameter to send requests with HTTP Basic Auth:
x = requests.post(url, data=from_data, auth=('user', 'pass'))
print(x.text)
print(x.headers)
print(x.status_code)
xxxxxxxxxx
>>> import requests
>>> r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
'{"authenticated": true, ...'
>>> r.json()
{'authenticated': True, }