בקשות פייתון: כל מה שאתה צריך לדעת



בלוג זה ידריך אותך במודול בקשות פיתון בפירוט. תוכלו להכיר בקשות GET ו- POST, חפצי הפעלה, עוגיות וכותרות.

Python מבקש תיק כמעט 400,000 הורדות מדי יום. מספר זה ניכר מספיק בכדי להבין על הפופולריות של זה . בשנים האחרונות שפת התכנות של פיתון הפכה לשפת התכנות המבוקשת ביותר עבור מפתחים רבים. המושגים והספריות כמו בקשות הם אחת הסיבות הרבות למפתחים לעבור משפות תכנות אחרות לפייתון. בבלוג זה נעבור על הנושאים הבאים:

מהן בקשות פיתון?

בקשות פיתון נכתבו על ידי קנת רייץ ומורשות תחת אפאצ'י 2.0. זוהי ספריית HTTP ידידותית לאנשים כפי שהיא מוזכרת בדף התיעוד הרשמי. זה קל לשימוש ובעיקרון משמש לביצוע כל מיני בקשות HTTP. להלן מספר תכונות מתקדמות שהבקשות כוללות:
  1. שמור על החיים ואיחוד חיבורים
  2. תחומים בינלאומיים וכתובות אתרים
  3. הפעלות עם התמדה בעוגיות
  4. אימות SSL בסגנון דפדפן
  5. פענוח תוכן אוטומטי
  6. אימות בסיסי / עיכול
  7. עוגיות מפתח / ערך אלגנטיות
  8. לחץ לחץ אוטומטי
  9. גופי תגובה של Unicode
  10. תמיכה ב- proxy HTTP
  11. העלאות קבצים מרובות חלקים
  12. הורדות סטרימינג
  13. פסק זמן לחיבור
  14. בקשות גדולות
אלה כל התכונות המתקדמות של ספריית בקשות פיתון, בואו ננסה להבין מדוע אנו משתמשים בבקשות פיתון מלכתחילה.

מדוע להשתמש בבקשות פיתון?

כשמדובר מדוע אנו משתמשים בבקשות פיתון? הסיבה די פשוטה. בעת שימוש בבקשות פיתון, אינך צריך להוסיף את השאילתות באופן ידני לכתובות האתר שלך ולנתח את הודעות קידוד הטופס. זה מקל על עבודתנו בעת בקשת http מכל סוג שהוא.כעת, כשאנו מכירים בקשות פיתון ומדוע אנו משתמשים בהן בפייתון, בואו ננסה להבין כיצד אנו מתקינים בקשות בפרויקט או במערכת שלנו.

כיצד להתקין בקשות פיתון?

חלק ההתקנה קל מאוד גם כן. אם התקנת ה- pipenv מותקנת במערכת שלך, תוכל פשוט להפעיל את הפקודה הבאה במסוף.

בקשות להתקנת $ pip

כיצד למיין מספרים ב - ++
פעולה זו תתקין את ספריית הבקשות במערכת שלך. יש גישה אחת נוספת להתקנת בקשות. אם אתה משתמש ב- pycharm, תוכל להוסיף בקשות למתורגמן לפרויקט בהגדרות. הוא משרת את אותה מטרה כמו הטרמינל במקרה של התקנת הספרייה בפרויקט שלנו.עכשיו כשעברנו את ההתקנה, בואו ננסה להבין איך נגיע לקבל ולפרסם בקשות בפייתון.

כיצד להגיש בקשות ופוסטים?

בקשת קבל משמשת בעצם לבקשת הנתונים מהשרת. להלן התחביר להגשת בקשה לקבל.
בקשות ייבוא ​​res = requests.get ('url') #res הוא אובייקט התגובה כאן.
בקשת פרסום משמשת להעברת הנתונים לעיבוד לשרת. להלן התחביר להגשת בקשת הודעה.
ייבוא ​​מטען בקשות = {'key1': 'value1'} res = בקשות.פוסט ('url', data = מטען)
עכשיו, כשאנחנו יודעים איך אנחנו יכולים לבצע ולקבל בקשות, בואו נסתכל כיצד נוכל להעביר פרמטרים לכתובת האתר באמצעות בקשת ה- get.

העברת פרמטרים בכתובת אתר

העברת פרמטרים בכתובת אתר היא פשוטה כמו הגשת בקשה לקבל. להלן דוגמה להעברת פרמטרים לכתובת URL.
ייבוא ​​מטען בקשות = {'key1': 'value1', 'key2': 'value2'} res = בקשות. get ('url', params = מטען) הדפס (res.url) # זה ידפיס את url עם הפרמטרים עבר דרך בקשת ה- get.

קוד סטטוס

אנו יכולים לבדוק גם את קוד המצב, להלן הקוד לבדיקת קוד המצב:





בקשות ייבוא ​​res = requests.get ('url') הדפס (res.status_code ())
אם הקוד מחזיר 200, המשמעות היא שאין שגיאה והבקשה בסדר. אם אנו מגישים בקשה רעה, הקוד יחזיר קוד כמו 404 או 505 שיעלה שגיאת http.

תוכן התגובה

אנו יכולים גם לקרוא את תוכן תגובת השרת. הספרייה תפענח אוטומטית את התוכן מהשרת.
בקשות ייבוא ​​res = requests.get ('url') הדפס (res.content)

לבקשות יש גם מפענח json מובנה.

בקשות ייבוא ​​res = requests.get ('url') הדפס (res.json ()) # זה יקבל את התגובה בפורמט json

העלאת קבצים מרובת חלקים

קל מאוד להעלות קבצים מרובי חלקים באמצעות בקשות.
ייבוא ​​קבצי בקשות = {'file': open ('filename', 'rb')} res = requests.post ('url', files = files) הדפס (res.text)
לשליחת מספר קבצים נציין מספר קבצים בפרמטר הקבצים.

עוגיות וכותרות

אנו יכולים להציג את כותרות התגובה של השרת וקובצי ה- Cookie באמצעות אובייקט התגובה. להלן הקוד להצגת כותרות השרת.
בקשות ייבוא ​​res = requests.get ('url') הדפס (res.headers)
אנו יכולים להעביר כותרות מותאמות אישית גם לכתובת האתר. בואו נסתכל על הקוד.
כותרות בקשות לייבוא ​​= {'key1': 'value1'} res = בקשות.גט ('url', כותרות = כותרות) הדפס (כותרות כותרת)
בקשות לא משנה את התנהגותה בהתבסס על כותרות מותאמות אישית. הם פשוט מועברים לבקשה הסופית. עוגיות ניתן גם לצפות באמצעות אובייקט התגובה.
בקשות ייבוא ​​# כדי להעביר קובצי Cookie משלנו נוכל להשתמש בפרמטר Cookies cookies = dict (cookies = 'working') res = בקשות.גט ('url', cookies = cookies) הדפס (res.text)

קובצי Cookie מוחזרים ב- RequestCookieJar, שפועל כמו מילון אך מציע גם ממשק שלם יותר, המתאים לשימוש במספר תחומים או נתיבים.



לעבור ערך לעומת לעבור לפי הפניה

אובייקט מושב

אובייקט ההפעלה מאפשר לך להחזיק פרמטרים מסוימים על פני הבקשות.
  • עומד בקובצי Cookie בכל הבקשות שהופנו ממופע ההפעלה
  • השתמש במאגר חיבורי urllib3
  • תוספת ביצועים משמעותית
  • לאובייקט הפעלה יש את כל השיטות של ממשק ה- API של הבקשות העיקריות
להלן הקוד כדי להחזיק כמה עוגיות בבקשות.
s = requests.session () s.get ('url') res = s.get ('url') הדפס (res.text)

שגיאות וחריגים

להלן השגיאות והחריגים המועלים בבקשת פיתון.
  • במקרה של בעיית רשת, בקשות יעלו חריג של ConnectionError.
  • Response.raise_for_status () יעלה שגיאת HTTP כשיש קוד סטטוס לא מוצלח.
  • אם יש פסק זמן, זה יעלה חריג של פסק זמן
  • יוצא מן הכלל TooManyRedirects מוגדר אם הבקשה חורגת מהמספר המוגדר של מספר ההפניות המרבי.
בבלוג זה דנו במודול בקשות הפיתון בו יש לנו תכונות מתקדמות שונות. דנו בהתקנה ובביצוע בקשה לקבל ולפרסם עם תוכן התגובה ומושגים אחרים בספריית הבקשות בפייתון. מודול בקשות של Python הוא אחד מבין תכונות יוצאות מהכלל יוצאות מהכלל של שפת תכנות פיתון . אתה יכול להתחיל את הלמידה שלך על ידי הרשמה ל ולגלות את האפשרויות של שפת תכנות פיתון. יש לך שאילתות? הזכיר אותם בסעיף ההערות, אנו נחזור אליך.