Node.js ist eine JavaScript-Laufzeitumgebung, die auf der Chrome V8-Engine basiert und die einfache Erstellung leistungsstarker, skalierbarer Webanwendungen ermöglicht. Unter diesen ist das Anforderungsmodul ein sehr häufig verwendetes Netzwerkanforderungsmodul in Node.js. Es ermöglicht uns, HTTP/HTTPS-Anfragen in Node.js zu senden. In diesem Artikel wird erläutert, wie Sie das Anforderungsmodul verwenden und die von der Anforderung zurückgegebenen Daten verarbeiten.
1. Installieren Sie das Anforderungsmodul
Bevor Sie das Anforderungsmodul verwenden, müssen Sie zuerst das Anforderungsmodul installieren. Geben Sie einfach den folgenden Befehl in die Konsole ein:
$ npm install request --save
Dadurch wird das Anforderungsmodul in Ihrem Projekt installiert und zur Datei package.json hinzugefügt.
2. Senden Sie eine GET-Anfrage
Das Senden einer GET-Anfrage ist sehr einfach, verwenden Sie einfach die Anfragemethode des Anfragemoduls. Das Folgende ist ein einfaches Beispiel:
const request = require('request'); request('https://api.github.com/users/octocat', (error, response, body) => { console.log('statusCode:', response && response.statusCode); console.log('body:', body); });
Dieses Beispiel sendet eine GET-Anfrage an die Benutzer-API von GitHub, um die Benutzerinformationen mit dem Benutzernamen octocat abzufragen. Das Senden einer Anfrage ist sehr einfach. Sie müssen lediglich die Anfragemethode aufrufen und die angeforderte URL übergeben.
Die Parameter der Callback-Funktion sind Fehler, Antwort und Text. Unter diesen stellt „error“ einen Anforderungsfehler dar; „respons“ stellt ein Antwortobjekt dar, das Informationen wie Antwortheader und Antwortcodes enthält;
3. Senden Sie eine POST-Anfrage
Sie müssen nur den zweiten Parameter (d. h. Optionen) der Anfragemethode auf den spezifischen Wert festlegen Informationen anfordern. Das Folgende ist ein Beispiel für die Verwendung der POST-Methode zum Hinzufügen eines Repo namens test zur GitHub-API:
const request = require('request'); const options = { url: 'https://api.github.com/user/repos', headers: { 'User-Agent': 'request' }, json: true, body: { name: 'test' }, auth: { 'user': 'username', 'pass': 'password' } }; request.post(options, (error, response, body) => { console.log('statusCode:', response && response.statusCode); console.log('body:', body); });
In diesem Beispiel legen wir die URL auf https://api.github.com/user fest /repos, die GitHub-API zum Erstellen von Warehouses. Die Header enthalten User-Agent, was darauf hinweist, dass die Anfrage per Anfrage gesendet wurde. Body sind die Daten, die wir senden möchten, also der Name des Repos, das wir auf GitHub erstellen möchten. Wenn json auf true gesetzt ist, bedeutet dies, dass die gesendeten Daten im JSON-Format vorliegen. auth bedeutet, dass eine Authentifizierung erforderlich ist, einschließlich Benutzername und Passwort.
4. Verarbeitung der Antwortdaten
Nach dem Absenden der Anfrage müssen wir die Antwortdaten verarbeiten. Daten im JSON-Format können direkt in JavaScript-Objekte geparst werden. Das Folgende ist ein Beispiel für das Parsen von JSON-Daten, die von der GitHub-API zurückgegeben werden, in ein JavaScript-Objekt:
const request = require('request'); request('https://api.github.com/users/octocat', {json: true}, (error, response, body) => { console.log('statusCode:', response && response.statusCode); console.log('login:', body.login); console.log('name:', body.name); });
In diesem Beispiel setzen wir json in Optionen auf true, was bedeutet, dass die Antwortdaten automatisch analysiert werden beim Empfang in JSON umwandeln. In der Rückruffunktion können wir direkt auf die Anmelde- und Namenseigenschaften im Antworttext zugreifen.
Für Daten in anderen Formaten können wir die entsprechende Parsing-Bibliothek zum Parsen verwenden. Für Daten im HTML-Format können Sie beispielsweise die Cheerio-Bibliothek zum Parsen verwenden. Das Folgende ist ein Beispiel für die Verwendung von Cheerio zum Parsen von Baidu-Suchergebnissen:
const request = require('request'); const cheerio = require('cheerio'); request('https://www.baidu.com/s?wd=nodejs', (error, response, body) => { const $ = cheerio.load(body); $('h3.t a').each((i, el) => { console.log($(el).text()); console.log($(el).attr('href')); }); });
In diesem Beispiel fordern wir die Ergebnisse des Baidu-Suchschlüsselworts nodejs per Anfrage an. Verwenden Sie die Lademethode von Cheerio, um HTML-Daten in ein manipulierbares DOM-Objekt zu konvertieren. Als nächstes wählen wir das h3.t-Element über den Selektor aus und durchlaufen jedes Element. Innerhalb der Schleife umschließen wir das Element mit $(), um die Text- und href-Attributwerte des Elements einfach abzurufen.
5. Zusammenfassung
Das Obige ist die grundlegende Methode zum Senden von HTTP/HTTPS-Anfragen mithilfe des Anforderungsmoduls von Node.js. Über dieses Modul können wir problemlos GET-, POST- usw. Anfragen senden und die von der Anfrage zurückgegebenen Daten verarbeiten. Obwohl dieses Modul sehr praktisch ist, müssen Sie bei der Verwendung besonders auf die Sicherheit achten, insbesondere beim Senden einer POST-Anfrage müssen die Anforderungsparameter verschlüsselt werden.
Das obige ist der detaillierte Inhalt vonnodejs-Anfrageanfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!