כיצד להשתמש בספריית הבקשות של 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.