HTTP -Anforderungen in node.js erstellen
In früheren Artikeln habe ich mich darauf konzentriert, einen Node.js -Server zu erstellen, um HTTP -Anforderungen zu bearbeiten. Dieser Artikel befasst sich mit dem Problem umgekehrt, indem Sie Ihnen zeigen, wie HTTP -Anforderungen von Ihren Node.js -Anwendungen erstellt werden. Möglicherweise fragen Sie sich, warum Sie das tun möchten. Zwei Anwendungen kommen sofort in den Sinn - Web -Scraping und Proxying. Scrapers sind Software, die Webseiten herunterladen und programmatisch Informationen aus ihnen extrahieren. Proxy -Server fungieren als Vermittler, leiten Kundenanfragen an andere Server weiter und senden die Antworten zurück.
Key Takeaways
- Das Anforderungsmodul in node.js ist ein einfaches und flexibles Werkzeug zum Erstellen von HTTP -Anforderungen, einschließlich Get, Post, Put und Löschen. Es ist ideal für die Interaktion mit erholsamen APIs und kann für Aufgaben wie Web -Scraping und Proxying verwendet werden.
- Das Anforderungsmodul kann parametrisiert werden, um HTTP -Anforderungen zu ändern, sodass die Konfiguration von Parametern wie URI, Methode, Zeitüberschreitungs- und Umleitungsbehandlung. Es unterstützt auch die Einreichung von Formulardaten mithilfe von Postanforderungen und kann Cookies für die Verfolgung von Benutzerinteraktionen verarbeiten.
- Während das Anforderungsmodul leistungsfähig und vielseitig ist, wird empfohlen, seine Dokumentation für ein umfassendes Verständnis seiner Fähigkeiten zu verweisen. Das Modul kann auch mit anderen Modulen wie dem Dateisystemmodul kombiniert werden, um komplexere Aufgaben wie Streaming -HTTP -Anforderungen an und von Dateien zu streamen.
Das Anforderungsmodul
Der einfachste Weg, um HTTP -Anforderungen in node.js zu erstellen, ist die Verwendung des Anforderungsmoduls. Mit der Anforderung von Mikeal Rogers können Sie alle Arten von HTTP -Anfragen erstellen, einschließlich Get, Post, Put und Löschen. Seine Flexibilität macht das Anforderungsmodul ideal für die Interaktion mit erholsamen APIs. Sie können die Anforderung mit dem folgenden NPM -Befehl installieren.
npm install request
Erstellen Sie nach der Installation der Anforderung eine neue Datei node.js, die den unten angegebenen Code enthält. Die erste Zeile des Beispiels wird verwendet, um die Anfrage in das Programm zu importieren. Eine HTTP -Anforderung zu erstellen ist so einfach wie das Aufrufen der Funktion Request (). In diesem Beispiel stellen wir eine Anfrage zum Herunterladen der JSPRO -Homepage. Das zweite Argument für Anfrage () ist natürlich eine Rückruffunktion.
<span>var request = require("request"); </span><span>request("http://www.sitepoint.com", function(error<span>, response, body</span>) { </span> <span>console.log(body); </span><span>});</span>
Die Rückruffunktion Request () enthält drei Argumente - Fehler, Antwort und Körper. Wie der Name schon sagt, enthält der Fehler Informationen zu Problemen, die während der HTTP -Anfrage aufgetreten sind. Das Antwortargument ist ein Objekt, das eine Vielzahl von Daten enthält, die aus dem Anruf zurückgegeben wurden, einschließlich des Statuscode, den Header und vielem mehr. Das dritte Rückrufargument, den Körper, ist der Körper der Reaktion. Im vorherigen Beispiel enthielt Body den Quellcode für die JSPRO -Homepage.
Das Anforderungsmodul kann auch mit dem Dateisystemmodul kombiniert werden, um HTTP -Anforderungen an und von Dateien zu streamen. Das folgende Beispiel holt erneut JSPRO. Anstatt den Quellcode in der Konsole anzuzeigen, wird er jedoch in eine Datei mit dem Namen "JSPRO.HTM" geschrieben.
npm install request
Parametrisierungsanforderungen
Die vorherigen Beispiele haben einfache GET -Anforderungen für URLs erstellt. Wir können jedoch die HTTP -Anforderung ändern, indem wir ein Konfigurationsobjekt als erstes Argument für Request () übergeben. Das folgende Beispiel verwendet die leistungsstärkere Syntax, um JSPRO erneut herunterzuladen. Beachten Sie die zahlreichen Konfigurationsparameter. Die URI- und Methodenparameter geben Anfrage an, eine Get -Anfrage an JSPRO zu senden.
<span>var request = require("request"); </span><span>request("http://www.sitepoint.com", function(error<span>, response, body</span>) { </span> <span>console.log(body); </span><span>});</span>
Der Zeitüberschreitungsparameter gibt die Anfrage an, 10.000 Millisekunden (zehn Sekunden) auf eine Antwort zu warten, bevor Sie aufgeben. Die letzten beiden Parameter befassen sich mit den folgenden Weiterleitungen. Auf vielen Seiten führen Überlösten hinter den Kulissen ohne Wissen des Benutzers durch. Die Parameter für FollowRedirect und MaxRedirects weisen die Anfrage an, bis zu zehn 3 xx HTTP -Umleitungen zu folgen. Beachten Sie auch, dass Request () viele andere Parameter unterstützt, die hier nicht angezeigt werden.
Formulardaten
sendenWie bereits erwähnt, unterstützt Anfrage mehr als nur Anfragen. Eine sehr häufige Operation ist die Einreichung von Formulardaten mithilfe einer Postanforderung. Das folgende Beispiel verwendet den Formularparameter von Request (), um den Namen eines Benutzers als Teil eines Beitrags zu senden. Die PHP -Seite antwortet dann, indem Sie den Benutzer mit Namen begrüßen.
<span>var request = require("request"); </span><span>var fs = require("fs"); </span><span>request("http://www.sitepoint.com").pipe(fs.createWriteStream("jspro.htm"));</span>
Umgang mit Cookies
Viele Websites verfolgen verschiedene Benutzerinteraktionen mit Cookies. Cookies sind kleine Datenstücke, die mit jeder HTTP -Transaktion zwischen Client und Server weitergegeben werden. Um die Verwendung von Cookies zu erleichtern, stellt die Anfrage die Methoden jar () und Cookie () bereit. Einzelne Cookies werden mit der Cookie () -Methode erstellt. In Zeile 3 des folgenden Beispiels wird ein Cookie erstellt, das den Namen des Benutzers angibt. Das Cookie wird dann zum Cookie -Glas hinzugefügt, das in Zeile 2 erstellt wurde. Wenn die HTTP -Anforderung gestellt wird, wird der JAR -Parameter verwendet, um das Cookie -JAR an den Server zu senden.
<span>var request = require("request"); </span><span>request({ </span> <span>uri: "http://www.sitepoint.com", </span> <span>method: "GET", </span> <span>timeout: 10000, </span> <span>followRedirect: true, </span> <span>maxRedirects: 10 </span><span>}, function(error<span>, response, body</span>) { </span> <span>console.log(body); </span><span>});</span>
Wenn die Antwort empfangen wird, wird der Benutzer als John begrüßt, der im Cookie gespeicherte Name. Das Cookie -Glas wird auch mit allen Änderungen des Servers aktualisiert. Wenn Sie das Cookie -Glas vor und nach der Anfrage ausdrucken, werden Sie feststellen, dass der Server den Wert des Cookies von "John" in "Fremder" geändert hat. Das gleiche Cookie -Glas kann an aufeinanderfolgende HTTP -Anfragen übergeben werden, um die Interaktionen eines echten Benutzers mit einer Website nachzuahmen.
Schlussfolgerung
Dieser Artikel hat das einfache, aber leistungsstarke Anforderungsmodul eingeführt. Da dieser Artikel nicht umfassend ist, empfehle ich, die Dokumentation zumindest zu durchsuchen, um zu sehen, was noch andere Anforderungen beantragen können. Seien Sie gespannt auf einen bevorstehenden Artikel, der das Web -Scraping mithilfe der Anforderung ausführlicher abdeckt.
Und wenn Sie diesen Beitrag genossen haben, werden Sie es lieben, lernbar zu sein. Der Ort, um frische Fähigkeiten und Techniken von den Meistern zu erlernen. Mitglieder erhalten sofortigen Zugriff auf alle eBooks und interaktiven Online -Kurse von SitePoint, wie Jump Start JavaScript.
Kommentare zu diesem Artikel sind geschlossen. Haben Sie eine Frage zu JavaScript? Warum nicht in unseren Foren fragen?
FAQs zum Erstellen von HTTP -Anforderungen in node.js
Wie kann ich HTTP -Anforderungen in node.js stellen?
Sie können HTTP-Anforderungen in node.js mit den integrierten HTTP- oder HTTPS -Level HTTP-Anforderungen. HTTP -Anforderungen in node.js?
Bibliotheken von Drittanbietern bieten benutzerfreundlichere APIs, vielversprechende oder asynchronisierte Unterstützung und fügten Funktionen wie Anforderungs-/Antwortbehandlungen und automatisches JSON-Parsen hinzu, wodurch sie für Entwickler beliebte Entscheidungen treffen.Was ist der Unterschied zwischen Get- und Post -Anfragen in node.js?
GET -Anforderungen werden verwendet, um Daten von einem Server abzurufen, während Postanforderungen zum Senden von Daten zur Verarbeitung oder zum Speicher an den Server verwendet werden, häufig in Formularen oder API -Anforderungen verwendet.Kann ich machen Anfragen mit dem integrierten HTTP-Modul in node.js erhalten und posten?
Ja, Sie können Anforderungen mit den HTTP- oder HTTPS-Modulen erhalten und veröffentlichen, aber es erfordert mehr Code mit niedrigem Niveau für die Anforderungskonfiguration und die Antwort. Anfrage mit dem HTTP -Modul in node.js?Sie können die Methode http.get () verwenden, um eine GET -Anforderung zu erstellen, die URL und eine Rückruffunktion zu übergeben, um die Antwortdaten zu verarbeiten. Anfragen in node.js?
synchrone Anforderungen blockieren die Ereignisschleife, bis die Anforderung abgeschlossen ist, während asynchrone Anforderungen es Ihrer Anwendung ermöglichen, andere Aufgaben weiter zu verarbeiten, während ich auf die Antwort wartet. in node.js?Sie können Fehler mit Try/Catch -Blöcken für synchrone Anforderungen und durch Hinzufügen von Fehlerbehandlungen im Rückruf oder Verwendung von Versprechen für asynchrone Anforderungen behandeln. Node.js?
Ja, Sie können Authentifizierungs-Token oder Anmeldeinformationen in die Anforderungsheader aufnehmen, wenn Sie Bibliotheken von Drittanbietern wie Axios oder Knotenfetch verwenden. Viele APIs erfordern eine Authentifizierung für den Zugriff.Ja, Sie können Dateien hochladen, indem Sie eine Postanforderung mit einem Multipart/Form-Daten-Inhaltstyp senden. Bibliotheken wie Axios und das Anforderungsmodul bieten Optionen für das Hochladen von Dateien.
Wie kann ich gleichzeitige oder parallele HTTP -Anforderungen in node.js stellen?
Um mehrere HTTP -Anfragen gleichzeitig zu stellen, können Sie asynchrone Funktionen wie Versprechen oder Async/Warteen verwenden, oder Sie können Bibliotheken verwenden, die eine parallele Anforderung zur Handhabung unterstützen.
Das obige ist der detaillierte Inhalt vonHTTP -Anforderungen in node.js erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

Datenaktualisierungsprobleme in Zustand Asynchronen Operationen. Bei Verwendung der Zustand State Management Library stoßen Sie häufig auf das Problem der Datenaktualisierungen, die dazu führen, dass asynchrone Operationen unzeitgemäß sind. � ...
