כיצד לבצע בקשות HTTP עם מודול הבקשות של Node.js?

Kyzd Lbz Bqswt Http M Mwdwl Hbqswt Sl Node Js



בקשות HTTP הן החלק החשוב והאינטגרלי ביותר בכל אפליקציה אינטראקטיבית, בקשות אלו מטפלות בהעברת נתונים בין הלקוח לצד השרת. אם המשתמש דורש נתונים לגבי השאילתה הספציפית, הוא ישלח בקשה והתגובה של בקשה זו המכילה את הנתונים הנדרשים נשלחת מהשרת. כל ההליך הזה תלוי או משתמש ב' HTTP ' בקשות שניתן ליצור באמצעות מודולים חיצוניים כמו ' בַּקָשָׁה '.

מדריך זה מסביר את ההליך של ביצוע בקשות HTTP עם מודול הבקשות של Node.js על ידי כיסוי הסעיפים שלהלן:

כיצד לבצע בקשות HTTP עם מודול הבקשות של Node.js?







חלופות של Node.js Request Module



סיכום



כיצד לבצע בקשות HTTP באמצעות מודול הבקשות של Node.js?

ה ' בַּקָשָׁה מודול הוא המודול הכי פשוט שעוזר בשליחת או אחזור בקשות HTTP. מודול זה פשוט וקל מדי להבנה, אך הוא מספק מעט מאוד חופש למפתחים. יתר על כן, המפתח לא יכול לשנות בקלות את הפונקציונליות הבסיסית שלו או לשפר את התכונות שסופקו לו.





הערה: למרות ש ' בַּקָשָׁה הוא מודול טוב. עם זאת, יוצריו החליטו להפסיק לעבוד על המודול הזה, והוא הוצא משימוש מלא ב-11 בפברואר 2020.

עם זאת, אם אתה עדיין רוצה לקבל מושג לגבי היישום של ' בַּקָשָׁה מודול ולאחר מכן בקר בשלבים המוזכרים להלן.



שלב 1: התקנת מודול 'הבקשה' ואתחול פרויקט Node.js

התחל על ידי אתחול ה' npm ” חבילות בתוך הספרייה הרצויה ליצירת פרויקט Node.js על ידי הפעלת הפקודה:

npm init - ו

הפלט מראה שה-'npm' אותחל בהצלחה בספרייה המסופקת:

לאחר מכן, התקן את ' בַּקָשָׁה ' מודול על ידי ביצוע הפקודה:

בקשת התקנה של npm

הפלט מראה שההתקנה הושלמה אך מכיוון שמודול זה הוצא משימוש, זו הסיבה שהאזהרה שהוצאה משימוש נשלחה על ידי ה-'npm':

שלב 2: הכנסת קוד דמה

ליצור ' .js ” הקלד קובץ בתוך ספריית הפרויקט Node.js, זהו הקובץ שבו התוכניות מוכנסות ומבוצעות מאוחר יותר. לאחר מכן, הכנס את שורות הקוד שלהלן כדי להמחיש את היישום המעשי של ' בַּקָשָׁה ' מודול, כפי שמוצג להלן:

const reqObj = לִדרוֹשׁ ( 'בַּקָשָׁה' )

תן baseUrl = 'https://jsonplaceholder.typicode.com/todos/6' ;

reqObj ( baseUrl, ( בעיות, תוכן ) => {

אם ( נושאים ) לְנַחֵם. עֵץ ( נושאים )

לְנַחֵם. עֵץ ( תוֹכֶן ) ;

} ) ;

ההסבר של בלוק הקוד לעיל הוא כדלקמן:

  • קודם ה ' בַּקָשָׁה מודול ' יובא והאובייקט שלו מאוחסן במשתנה חדש בשם ' reqObj '.
  • לאחר מכן, כתובת האתר של קובץ JSON מקוון כלשהו שצריך לאחזר את התוכן שלו מועברת כערך עבור ' baseUrl ' משתנה בשם.
  • אז ה ' reqObj המשתנה ' מופעל בתור הבנאי, וה-' baseUrl ” מועבר כפרמטר הראשון שלו ופונקציית ה-callback כפרמטר השני.
  • בתוך פונקציית ההתקשרות חזרה, ' אם הצהרת ” משמשת להצגת כל שגיאה שהתרחשה והנתונים שאוחזרו מוצגים גם בחלון המסוף.

שלב 3: ביצוע

כדי להפעיל את הקוד לעיל, הפעל את הקובץ המכיל בשם ' proApp.js ' במקרה שלנו באמצעות הפקודה:

node proApp. js

הפלט לאחר הביצוע מראה שהנתונים שצוינו אוחזרו והוצגו על גבי המסוף:

חלופות של Node.js Request Module

בשל הוצאת הערך של ' בַּקָשָׁה מודול, ישנם הרבה מודולים חיצוניים חדשים שניתן להשתמש בהם כדי לבצע פונקציונליות דומה. מודולים חלופיים אלה מפורטים להלן:

אלטרנטיבות תיאור
אחזור צומת זהו מודול מבוסס הבטחה או זרם שמביא את שיטת window.fetch() ב-Node.js.
http ה ' http ' מודול הוא מודול ברירת המחדל המסופק על ידי Node.js, והוא מספק מספר שיטות לאינטראקציה עם שרתי http תוך מתן חופש רב יותר.
אקסיוס מבוסס אך ורק על הבטחות וזרמים לבצע בקשות HTTP דרך הדפדפן הן מקצה השרת והן מקצה הלקוח.
קיבל זוהי סופר ידידותית לבני אדם והספרייה החזקה ביותר עבור בקשות HTTP.
סוכן על מבוסס על שרשור והבטחות תוך מתן תמיכה עבור לקוחות HTTP רבים ברמה גבוהה. יש לו גם עקומת למידה נמוכה.
כפוף זהו HTTP פונקציונלי שמחזיר פונקציה מסוג אסינכרון.
לעשות-להביא-להתרחש צורה משופרת של ' אחזור צומת ' מודול. זה כולל כעת 'איגוד בקשות', 'תמיכה במטמון' ועוד דברים רבים נוספים.
מַחַט מודול זה הוא המודול הברור והקדום ביותר. הוא משמש בעיקר לאחזור נתונים על ידי שליחת בקשות למקורות צד שלישי.
tiny-json-http לקוח HTTP מינימליסטי המשמש לביצוע עומסי JSON.

כעת, בואו נבצע בקשות HTTP על ידי שימוש בכמה מודולים שנדונו לעיל.

שיטה 1: ביצוע בקשות HTTP באמצעות מודול HTTP ברירת מחדל

ה ' http ' הוא מודול ברירת מחדל שכן הוא מותקן אוטומטית בזמן האתחול של פרויקט node.js על ידי הפעלת הפקודה ' npm init ' או ' npm init -y '. מכיוון שכבר יצרנו פרויקט node.js, אנו מדלגים על שלבי האתחול שהוצגו בתחילת מאמר זה וצוללים ישירות ליצירת בקשות http באמצעות מודול 'http'.

בקטע הקוד שלהלן, השרת נוצר וכתגובה, הודעת הדמה נשלחת לשרת:

const httpObj = לִדרוֹשׁ ( 'http' ) ;

const שרת מקומי = httpObj. createServer ( ( בקשת תגובה ) => {

תְגוּבָה. לִכתוֹב ( 'ברוכים הבאים לדף הטוויטר' ) ;

תְגוּבָה. סוֹף ( ) ;

} ) ;

שרת מקומי. להקשיב ( 8080 , ( ) => {

לְנַחֵם. עֵץ ( 'שרת התחיל ביציאה מספר 8080.' ) ;

} ) ;

בגוש הקוד שלמעלה:

  • קודם ה ' http ' מודול יובא לתוך הקובץ הנוכחי והאובייקט שלו מאוחסן במשתנה חדש בשם ' httpObj '.
  • לאחר מכן, השרת בשם ' שרת מקומי ' נוצר על ידי הפעלת ' createServer() ” שיטת והעברת פונקציית ה-callback כפרמטר שלה.
  • בתוך פונקציה זו, הפעל את ' לִכתוֹב() ” השיטה ולהקצות לה הודעת דמה שמוצגת בשרת. כמו כן, סגור את סשן התגובה על ידי הפעלת ה-' סוֹף() הודעה, ניתן להכניס את הודעת הדמה האקראית גם בתוך סוגריים של השיטה.
  • לאחר מכן, הפוך את השרת הזה להפעיל על המארח המקומי בעל מספר היציאה של ' 8080 ' על ידי הפעלת ה' להקשיב() ' שיטה.

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

צוֹמֶת < שם קובץ. js >

הפלט שנוצר מאשר שבקשות HTTP בוצעו באמצעות ברירת המחדל ' http ' מודול:

שיטה 2: ביצוע בקשת HTTP באמצעות מודול Axios חיצוני

ה ' אקסיוס ” הוא המודול הפופולרי והנפוץ ביותר בכל הנוגע לביצוע בקשות HTTP בסביבה בזמן אמת. כדי להשתמש במודול זה, על המפתח להתקין אותו תחילה על ידי ביצוע הפקודה הבאה:

npm להתקין אקסיות

לאחר ביצוע הפקודה, הטרמינל מופיע כך:

כעת, בואו נסתכל על דוגמה שבה ' לקבל בקשת HTTP תשמש כדי לאחזר את הנתונים מ-API אקראי. לאחר מכן, הנתונים שהתקבלו מוצגים גם על גבי המסוף:

const axiosObj = לִדרוֹשׁ ( 'אקסיות' ) ;

// כתובת האתר של JSON Placeholder API כדי לבחור רק חלק מהנתונים עם מזהה 5

const apiUrl = 'https://jsonplaceholder.typicode.com/todos/5' ;

//אתחול בקשת GET

axiosObj. לקבל ( apiUrl )

. לאחר מכן ( תְגוּבָה => {

לְנַחֵם. עֵץ ( 'הסטטוס של התגובה מ-API הוא:' , תגובה. סטָטוּס ) ;

לְנַחֵם. עֵץ ( 'הנתונים שהתקבלו מ-API כתגובה לבקשה:' , תגובה. נתונים ) ;

} )

. לתפוס ( שְׁגִיאָה => {

לְנַחֵם. שְׁגִיאָה ( 'השגיאה התרחשה:' , שגיאה ) ;

} ) ;

ההסבר של בלוק הקוד לעיל מצוין להלן:

  • ראשית, ייבא את ' אקסיוס ' ספריית ואחסן את המופע שלה במשתנה בשם ' axiosObj ' אשר פועל כאובייקט של ספריית 'אקסיוס'.
  • לאחר מכן, צור משתנה ' apiUrl ' ואחסן את כתובת האתר של ה-API שממנו יש לאחזר את הנתונים. במקרה שלנו, כתובת האתר היא ' https://jsonplaceholder.typicode.com/todos/5 ' כי אנחנו רוצים לאחזר נתונים שיש להם מזהה של ' 5 '.
  • עכשיו, בעזרת ' axiosObj ' להפעיל את ' לקבל() שיטת ' ועוברים את ' appURL משתנה בתוך סוגריים של שיטה זו.
  • צרף את ' לאחר מכן() שיטת ' עם ' לקבל() ' שיטה וליצור פונקציית חץ אנונימית המכילה פרמטר בודד של ' תְגוּבָה '.
  • זה ' תְגוּבָה ' פועל כאובייקט המכיל את הערכים או הנתונים שהוחזרו בתגובה לבקשה באמצעות ' לקבל() ' שיטה.
  • בעזרת זה' תְגוּבָה ' אובייקט, אחזר את סטטוס הבקשה והתוכן על ידי צירוף ' סטָטוּס ' ו' נתונים ' מילות מפתח לצדו.
  • לבסוף, צרף את ' לתפוס() ' שיטה המציגה שגיאות אם התרחשו במהלך ביצוע התוכנית.

כעת, קומפל את הקוד לעיל בסביבת Node.js באמצעות הפקודה למטה בטרמינל:

צוֹמֶת < שם קובץ >

הפלט המוצג מראה שהנתונים המבוקשים אוחזרו מהמקור שסופק כתגובה והוצגו מעל חלון המסוף:

זה הכל על ביצוע בקשות HTTP עם מודול הבקשות של Node.js וסקירה מהירה של החלופות שלו.

סיכום

כדי לבצע בקשת HTTP דרך ' בַּקָשָׁה מודול, כתובת ה-URL הנדרשת ממנה יתבצע השליפה. לאחר מכן, מופע המודול 'בקשה' נוצר, וכתובת ה-URL שנבחרה עבורה יש ליישם את בקשת ה-HTTP מועברת כפרמטר הראשון. פונקציית ההתקשרות החוזרת הנדרשת משמשת גם כדי לבדוק אם התרחשו שגיאות ולאחזר את התוכן או התגובה של בקשת ה-HTTP. מדריך זה הסביר את התהליך של ביצוע בקשות HTTP באמצעות מודול הבקשות.