Python Requests Package — Complete Quiz with Answers
Basic + Intermediate
Q1. Which Python package is commonly used to send HTTP requests easily?
A) urllib
B) requests
C) httpclient
D) httplib
Answer: B) requests
Q2. Which attribute returns the HTTP status code of a response object r?
A) r.status
B) r.code
C) r.status_code
D) r.http_code
Answer: C) r.status_code
Q3. response.json() converts a JSON response into a Python dictionary or list.
A) True
B) False
Answer: A) True
Q4. The requests package is included in Python's standard library and does not require installation.
A) True
B) False
Answer: B) False
Q5. Which methods are valid HTTP methods supported directly by Requests?
A) delete()
B) get()
C) post()
D) put()
Answer: B, C, D
Note: delete() is also supported by Requests; this question's original answer set was incomplete.
Q6. Which parameter is used to send query-string values in requests.get()?
A) data
B) params
C) query
D) args
Answer: B) params
---
Intermediate Code Quiz
Q7. What is printed?
import requests
r = requests.get('https://example.com')
print(r.status_code)
A) 404
B) 200
C) 500
D) 301
Answer: B) 200
Q8. What does this send to the server?
requests.get(
'https://api.example.com/users',
params={'page': 2, 'limit': 10}
)
A) JSON body
B) Form data
C) URL query parameters
D) HTTP headers
Answer: C) URL query parameters
Q9. What Python object is most likely returned?
response = requests.get(url)
data = response.json()
If the API returns a JSON object: A) tuple
B) list
C) dict
D) bytes
Answer: C) dict
Q10. response.text returns the response body decoded as text.
A) True
B) False
Answer: A) True
Q11. What is the purpose of response.raise_for_status()?
A) Converts response to JSON
B) Raises an exception for unsuccessful HTTP status codes
C) Retries the request
D) Closes the connection
Answer: B
Q12. What does this request do?
requests.post(
url,
json={'name': 'John'},
headers={'Authorization': 'Bearer TOKEN'}
)
A) Sends data as URL parameters
B) Sends JSON data in the request body
C) Sends a POST request
D) Sends an Authorization header
Answer: B, C, D
Q13. What does timeout=5 do?
requests.get(url, timeout=5)
A) Retries 5 times
B) Sets a 5-second timeout
C) Sends 5 requests
D) Waits 5 minutes
Answer: B) Sets a 5-second timeout
Q14. Which exception can be caught for timeout or other Requests-related network errors?
try:
requests.get(url, timeout=3)
except ______ as e:
print(e)
A) ValueError
B) KeyError
C) requests.exceptions.RequestException
D) IndexError
Answer: C
Q15. What does this return?
r.headers.get('Content-Type')
A) HTTP status code
B) Content-Type header value
C) Request body
D) URL
Answer: B) Content-Type header value
Q16. What does this send?
requests.post(url, data={'name': 'John'})
A) JSON data
B) Form data
C) Query parameters
D) Cookies
Answer: B) Form data
Fresh Intermediate Code Quiz
Q17. What does r.ok indicate?
r = requests.get(url)
print(r.ok)
A) True only for status 200
B) True only for status 201
C) True only for status 300
D) True when status is below 400
Answer: D
Q18. What does r.content provide?
r = requests.get(url)
content = r.content
A) JSON dictionary
B) Raw response bytes
C) HTTP status
D) Headers
Answer: B) Raw response bytes
Q19. What happens for HTTP 404?
r = requests.get(url)
r.raise_for_status()
print("Done")
A) Prints Done
B) Returns 200
C) Retries automatically
D) Raises HTTPError
Answer: D
Q20. Which arguments can be supplied to requests.get()?
A) cookies
B) headers
C) verify
D) All of the above
Answer: D
Q21. A requests.Session can persist settings such as cookies across multiple requests.
A) True
B) False
Answer: A) True
Q22. What is the purpose of this code?
session = requests.Session()
session.headers.update({'User-Agent': 'MyApp'})
A) Sends one request
B) Sets a default header for session requests
C) Deletes headers
D) Disables cookies
Answer: B
Q23. What does this do?
requests.get(url, allow_redirects=False)
A) Prevents automatic redirects
B) Forces a redirect
C) Disables HTTPS
D) Retries redirects
Answer: A
Q24. What does this do?
requests.get(
url,
cookies={'session_id': 'abc123'}
)
A) Sends cookies with the request
B) Creates a new session
C) Deletes cookies
D) Reads response headers
Answer: A
Q25. Which code correctly saves an image response?
r = requests.get(url)
A)open('image.jpg', 'w').write(r.text)
B)open('image.jpg', 'r').write(r.content)
C) open('image.jpg', 'wb').write(r.content)
D) open('image.jpg', 'a').write(r.json())
Answer: C
Q26. What is the purpose of requests.head(url)?
A) Downloads the complete response body
B) Sends a POST request
C) Deletes a resource
D) Fetches headers without normally downloading the response body
Answer: D
Quick Revision
requests.get() → GET request
requests.post() → POST request
requests.put() → PUT request
requests.delete() → DELETE request
params={} → URL query parameters
data={} → Form/request data
json={} → JSON request body
headers={} → HTTP headers
cookies={} → Cookies
r.status_code → HTTP status code
r.ok → True for status < 400
r.text → Response as text
r.content → Response as bytes
r.json() → Parse JSON response
r.headers → Response headers
raise_for_status() → Raise HTTP error
timeout=5 → Request timeout
Session() → Persist settings/cookies
allow_redirects=False→ Don't follow redirects
head() → Fetch headers