Why requests Over urllib
Python's built-in urllib works but is verbose. requests is what everyone actually uses:
# urllib — verbose import urllib.request , json req = urllib . request . Request ( " https://api.example.com/data " , headers = { " Authorization " : " Bearer token " }) with urllib . request . urlopen ( req ) as r : data = json . loads ( r . read (). decode ())
# requests — clean import requests r = requests . get ( " https://api.example.com/data " , headers = { " Authorization " : " Bearer token " }) data = r . json ()
Enter fullscreen mode
Exit fullscreen mode
Install: pip install requests
GET Requests
import requests
# Basic GET r = requests . get ( " https://jsonplaceholder.typicode.com/posts/1 " ) print ( r . status_code ) # 200 print ( r . json ()) # {'userId': 1, 'id': 1, 'title': ...} # With query parameters r = requests . get ( " https://jsonplaceholder.typicode.com/posts " , params = { " userId " : 1 , " _limit " : 5 } ) # URL becomes: .../posts?userId=1&_limit=5 posts = r .…