כיצד להשתמש בספריית הבקשות של Python עבור HTTP
ספריית requests
היא מודול Python פופולרי שמפשט את התהליך של ביצוע בקשות HTTP. זה מפשט את המורכבות של הטיפול בבקשות ובתגובות, ומקל על האינטראקציה עם שירותי אינטרנט וממשקי API. במאמר זה, נחקור את היסודות של השימוש בספריית requests
, כולל איך לשלוח סוגים שונים של בקשות HTTP ולטפל בתגובות.
התקנת ספריית הבקשות
לפני שתוכל להשתמש בספריית requests
, תצטרך להתקין אותה. אתה יכול להתקין אותו באמצעות pip
, מנהל החבילות של Python. הפעל את הפקודה הבאה בטרמינל שלך:
pip install requests
ביצוע בקשת GET פשוטה
בקשת ה-HTTP הבסיסית ביותר היא בקשת GET, המאחזרת נתונים משרת. כך תוכל להשתמש בספריית requests
כדי לבצע בקשת GET:
import requests
response = requests.get('https://api.github.com')
print(response.status_code)
print(response.json())
בדוגמה זו, אנו שולחים בקשת GET אל GitHub API ומדפיסים את קוד סטטוס ה-HTTP ואת תוכן התגובה בפורמט JSON.
שליחת בקשות POST
בקשות POST משמשות לשליחת נתונים לשרת, כגון הגשת טפסים. הנה איך לשלוח בקשת POST עם ספריית requests
:
import requests
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://httpbin.org/post', data=data)
print(response.status_code)
print(response.json())
בדוגמה זו, אנו שולחים בקשת POST עם כמה נתוני טופס לשירות הבדיקה httpbin.org ומדפיסים את קוד סטטוס התגובה ואת התוכן.
טיפול בפרמטרי שאילתה
לפעמים אתה צריך לכלול פרמטרים של שאילתה בבקשות שלך. ספריית requests
מקלה על כך בכך שהיא מאפשרת לך להעביר פרמטרים כמילון:
import requests
params = {'search': 'python', 'page': 1}
response = requests.get('https://httpbin.org/get', params=params)
print(response.status_code)
print(response.url)
בדוגמה זו, אנו כוללים פרמטרי שאילתה בבקשת GET ומדפיסים את כתובת האתר הסופית עם הפרמטרים הכלולים.
עבודה עם כותרות
ייתכן שיהיה עליך לכלול כותרות מותאמות אישית בבקשות שלך, כגון עבור אימות או כדי לציין סוגי תוכן. כך מוסיפים כותרות לבקשות שלך:
import requests
headers = {'Authorization': 'Bearer YOUR_TOKEN'}
response = requests.get('https://api.github.com/user', headers=headers)
print(response.status_code)
print(response.json())
בדוגמה זו, אנו כוללים כותרת הרשאה בבקשה ל- GitHub API ומדפיסים את קוד הסטטוס ותוכן התגובה.
טיפול בתקופת זמן קצוב וחריגים
חשוב לטפל בבעיות פוטנציאליות כגון פסק זמן ברשת וחריגים אחרים. ספריית requests
מאפשרת לך לציין פסקי זמן ולתפוס חריגים:
import requests
from requests.exceptions import RequestException
try:
response = requests.get('https://httpbin.org/delay/5', timeout=3)
response.raise_for_status()
print(response.status_code)
print(response.text)
except RequestException as e:
print(f'An error occurred: {e}')
בדוגמה זו, אנו מגדירים פסק זמן לבקשה ותופסים חריגים המתרחשים, ומדפיס הודעת שגיאה אם משהו משתבש.
מַסְקָנָה
ספריית requests
היא כלי חזק וידידותי לביצוע בקשות HTTP ב-Python. בין אם אתה משחזר נתונים ממשקי API, שולח הגשת טפסים או מטפל בכותרות מותאמות אישית, ספריית requests
מקלה על ביצוע המשימות הללו עם כמה שורות קוד בלבד. על ידי שליטה ביסודות המכוסים במאמר זה, תהיו מצוידים היטב לאינטראקציה עם שירותי אינטרנט וממשקי API בפרויקטים של Python.