Complete Guide from Basics → Advanced | Real-Time Examples | Industry Standard
pip install requests
import requests
GET is used to retrieve data from an API.
import requests url = "https://reqres.in/api/users?page=2" response = requests.get(url) print(response.status_code) print(response.json())
assert response.status_code == 200 assert response.json()["page"] == 2
POST is used to create a new resource on the server.
import requests
url = "https://reqres.in/api/users"
payload = {
"name": "Ramesh",
"job": "Founder - Prakura IT Solutions"
}
response = requests.post(url, json=payload)
print(response.json())
assert response.status_code == 201 assert response.json()["name"] == "Ramesh"
PUT updates the entire object.
url = "https://reqres.in/api/users/2"
payload = {
"name": "Ramesh Kudikala",
"job": "CEO"
}
response = requests.put(url, json=payload)
print(response.json())
url = "https://reqres.in/api/users/2" response = requests.delete(url) print(response.status_code) # 204 expected
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer 12345"
}
params = {"page": 2}
requests.get(url, params=params)
cookies = {"session_id": "abc123"}
requests.get(url, cookies=cookies)
from requests.auth import HTTPBasicAuth
requests.get(url, auth=HTTPBasicAuth("user", "pass"))
headers = {"Authorization": "Bearer YOURTOKEN"}
requests.get(url, headers=headers)
headers = {"Authorization": "JWT TOKEN"}
requests.get(url, headers=headers)
files = {
"file": open("resume.pdf", "rb")
}
response = requests.post(upload_url, files=files)
assert response.status_code == 200 assert response.elapsed.total_seconds() < 2 assert response.headers["Content-Type"] == "application/json; charset=utf-8" assert "data" in response.json()
def test_get_users():
res = requests.get("https://reqres.in/api/users?page=2")
assert res.status_code == 200
def test_create_user():
payload = {"name": "Ramesh", "job": "QA Lead"}
res = requests.post("https://reqres.in/api/users", json=payload)
assert res.status_code == 201
def test_update_user():
payload = {"name": "Ramesh", "job": "CEO"}
res = requests.put("https://reqres.in/api/users/2", json=payload)
assert res.status_code == 200
def test_delete_user():
res = requests.delete("https://reqres.in/api/users/2")
assert res.status_code == 204