- מהן בקשות פיתון?
- מדוע להשתמש בבקשות פיתון?
- כיצד להתקין בקשות פיתון?
- ביצוע בקשות קבל & פרסם
- העברת פרמטרים בכתובת URL
- קוד סטטוס
- תוכן התגובה
- העלאת קבצים מרובת חלקים
- עוגיות וכותרות
- אובייקט מושב
- שגיאות וחריגים
מהן בקשות פיתון?
בקשות פיתון נכתבו על ידי קנת רייץ ומורשות תחת אפאצ'י 2.0. זוהי ספריית HTTP ידידותית לאנשים כפי שהיא מוזכרת בדף התיעוד הרשמי. זה קל לשימוש ובעיקרון משמש לביצוע כל מיני בקשות HTTP. להלן מספר תכונות מתקדמות שהבקשות כוללות:- שמור על החיים ואיחוד חיבורים
- תחומים בינלאומיים וכתובות אתרים
- הפעלות עם התמדה בעוגיות
- אימות SSL בסגנון דפדפן
- פענוח תוכן אוטומטי
- אימות בסיסי / עיכול
- עוגיות מפתח / ערך אלגנטיות
- לחץ לחץ אוטומטי
- גופי תגובה של Unicode
- תמיכה ב- proxy HTTP
- העלאות קבצים מרובות חלקים
- הורדות סטרימינג
- פסק זמן לחיבור
- בקשות גדולות
מדוע להשתמש בבקשות פיתון?
כשמדובר מדוע אנו משתמשים בבקשות פיתון? הסיבה די פשוטה. בעת שימוש בבקשות פיתון, אינך צריך להוסיף את השאילתות באופן ידני לכתובות האתר שלך ולנתח את הודעות קידוד הטופס. זה מקל על עבודתנו בעת בקשת 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 מוגדר אם הבקשה חורגת מהמספר המוגדר של מספר ההפניות המרבי.