Node.js+Postman zur Simulation der HTTP-Server- und Client-Interaktion

Node.js+Postman zur Simulation der HTTP-Server- und Client-Interaktion

Wenn eine Anwendung (Client) eine bestimmte Ressource benötigt, kann sie die Ressource über eine HTTP-Anfrage von einem Server beziehen. Der Server, der die Ressourcen bereitstellt, ist der Webserver (in diesem Artikel mit node.js erstellt), und Postman wird verwendet, um den Client zu simulieren, der Anfragen an den Server sendet.

Bildbeschreibung hier einfügen

1. Node erstellt HTTP-Server

Das http- Modul wird im Knoten verwendet, um einen HTTP-Server zu erstellen. Immer wenn eine neue Anfrage empfangen wird, wird das Anfrageereignis aufgerufen und stellt zwei Objekte bereit: eine Anfrageanforderung (http.IncomingMessage-Objekt) und eine Antwortresponse (http.ServerResponse-Objekt).

Anfrage stellt die Details der Anfrage bereit. Es bietet Zugriff auf die Anforderungsheader und Anforderungsdaten. (Client–>Server)

Die Antwort wird zum Erstellen der Daten verwendet, die an den Client (Server–>Client) zurückgegeben werden sollen. Unten finden Sie ein einfaches Beispiel für einen HTTP-Webserver.

Nachfolgend sehen Sie ein Beispiel für einen einfachen HTTP-Server

//http-Modul importieren const http = require('http')

// Einen HTTP-Server erstellen const server = http.createServer((req, res) => {
		//Setzen Sie die Eigenschaft statusCode auf 200, um eine erfolgreiche Antwort anzuzeigen res.statusCode = 200
  		// res erbt im Wesentlichen die Klasse stream.Writable // Nachdem Sie den Antwortheader und -text an den Client gesendet haben, teilen Sie dem Server mit, dass die Nachrichtenübertragung über res.end("hollow server") erfolgt.
        //Entspricht res.writer("hollow server")+res.end()
    })
    // Lauschen Sie dem Server. Wenn der Server bereit ist, wird die Listen-Callback-Funktion aufgerufen // Die Konsole gibt aus, dass der Start erfolgreich war server.listen('8089', 'localhost', () => {
    console.log("Start erfolgreich")
})

An diesem Punkt ist Ihr lokaler Server eingerichtet. Sie können zum Browser gehen, um localhost:8089 zu öffnen und anzuzeigen

Bildbeschreibung hier einfügen

2. HTTP-Serverprozesse erhalten Anforderung

Postman ist ein häufig verwendetes Tool zum Testen von Schnittstellen, das fast alle Arten von HTTP-Anfragen senden kann. Postman ist für verschiedene Betriebssysteme geeignet, Postman Mac, Windows X32, Windows X64, Linux-Systeme und unterstützt auch Postman-Browsererweiterungen, Postman-Chrome-Anwendungen usw.

Das Herunterladen ist auch sehr einfach. Klicken Sie hier, um direkt zur offiziellen Website zum Herunterladen zu gelangen. 👉👉👉 Postman herunterladen

1. Postman sendet eine Get-Anfrage

Erstellen Sie eine neue Anfrage in Postman , geben Sie die Hostadresse des HTTP-Servers ein, den wir oben mit node.js erstellt haben, sowie den Benutzernamen und das Passwort http://localhost:8089/login?username=ahua&password=123 in die Anfrage-URL ein, wählen Sie GET als Anfragetyp, klicken Sie auf Senden und Postman sendet eine Get-Anfrage an den Server

Bildbeschreibung hier einfügen

2. Serveranalyse

Der Server empfängt die Get-Anfrage vom Client (Postbote) und verarbeitet die gesendeten Daten

const http = erfordern('http').
    // Modul zur Verarbeitung von URLs const url = require('url')
    // Modul, das die Abfrage verarbeitet const qs = require('querystring')
const server = neuer http.Server((req, res) => {
    // Das Anforderungsobjekt enthält alle Informationen, die vom Client an unseren Server weitergegeben werden. // Analysiere die URL const { pathname, query } = url.parse(req.url)
    if (Pfadname === '/login') {
        //console.log(Abfrage)
            // Die Parse-Methode von qs kann die Abfrage verarbeiten // Konvertiert den String-Typ in ein JS-Objekt username=ahua&password=123 --> {username: 'ahua',password: 123}
        //Konsole.log(qs.parse(Abfrage))
        const { Benutzername, Passwort } = qs.parse(Abfrage)
        console.log(Benutzername, Passwort)
        res.end('Ergebnis anfordern')
    }
    Konsole.log(erforderliche URL)
    //Anforderungstyp drucken console.log(req.method)
    //Header anfordern console.log(req.headers)
})
server.listen('8089', 'localhost', () => {
    console.log("Server erfolgreich gestartet")
})

Das Analyseergebnis auf der Serverseite

Bildbeschreibung hier einfügen

3. Der HTTP-Server verarbeitet Post-Anfragen

1. Postman sendet eine Post-Anfrage

In der obigen Get-Anfrage ist es möglicherweise nicht sicher genug, den Benutzernamen und das Passwort in die Adressleiste einzugeben. Um beim Umgang mit dem Kontopasswort vorsichtiger zu sein, geben Sie es in den Text ein und senden Sie es mithilfe einer JSON-Datei an den Server.

Die folgende Abbildung zeigt den Vorgang, wie Postman Benutzername und Passwort in eine JSON-Datei einträgt und diese über Bady an den Server weiterleitet.

Bildbeschreibung hier einfügen

2. Serveranalyse

Der Server empfängt die Post-Anfrage vom Client (Postbote) und verarbeitet die gesendeten Daten. Zuerst sollten Sie feststellen, ob es sich um eine Post-Anfrage handelt, dann die Daten im Text abrufen und anschließend die Daten analysieren.

const http = erfordern('http').
    // Modul zur Verarbeitung von URLs const url = require('url')
const server = neuer http.Server((req, res) => {
    // Den Pfadnamen in der vom Client gesendeten URL abrufen
    const { Pfadname } = url.parse(req.url)
        //Feststellen, ob es sich um eine Anmeldung handelt
    if (Pfadname === '/login') {
        // Bestimmen Sie, ob die vom Client gesendete Anfrage eine POST-Anfrage ist, wenn (req.method === 'POST') {
            // Definieren Sie das Standardcodierungsformat für vom Client gesendete Daten req.setEncoding('utf-8')
                // req.setEncoding('binary') binary definiert die binäre Kodierung // Ruft die Daten im Textkörper ab // Die Daten im Textkörper werden über den Stream geschrieben // Wenn das Datenereignis abgehört wird, wird der Eingabestream abgerufen, d. h. der relevante Inhalt im Textkörper, und das Ergebnis dieser Daten kann zurückgegeben werden req.on('data', (data) => {
                // JSON.parse() konvertiert den String im Objekt in ein JS-Objekt // {"username":"阿花","passward":"123"} ---> {username: 'ahua',password: 123}
                const { Benutzername, Passwort } = JSON.parse(Daten)
                console.log(Benutzername, Passwort)
            })
        }
    }

    res.end('Ergebnis anfordern')

})
server.listen('8089', 'localhost', () => {
    console.log("Server erfolgreich gestartet")
})

Ergebnisse der Server-Druckanforderung

Bildbeschreibung hier einfügen

Damit ist ein einfacher Server-Interaktionsprozess abgeschlossen.

Dies ist das Ende dieses Artikels über node.js+postman zur Simulation der Interaktion zwischen HTTP-Server und -Client. Weitere verwandte Inhalte zu node.js+postman-Server und -Client-Interaktion finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Konfiguration von Express-Sitzungs- und Cookie-Modulpaketen unter der node.js-Plattform
  • Praktische Anwendung der Express-Verpackung und -Bereitstellung von Angular2 + Node.js
  • So installieren Sie die neueste Version von Node.js auf einem CentOS 8.2-Server
  • Schritte zum Erstellen eines WEBSERVERS mit NODE.JS
  • Detaillierte Erklärung, wie das lokale Vue-Projekt konfiguriert wird, um den lokalen Node.js-Server anzufordern
  • Node.js: Drei Schritte zur Implementierung eines Servers und zur Verwendung von Express-Paketen

<<:  So installieren Sie JDK und Mysql auf dem Linux-System Ubuntu 18.04

>>:  So behandeln Sie einen Überlauf numerischer MySQL-Typen

Artikel empfehlen

Verständnis für Webdesign-Layout

<br />Hier ergibt sich ein Widerspruch: In k...

JavaScript-Implementierung der Dropdown-Liste

In diesem Artikelbeispiel wird der spezifische Ja...

Detaillierte Erklärung des Overflow-Scrollens zur Lösung des Scroll-Lag-Problems

Vorwort Wenn Sie das Attribut „overflow: scroll“ ...

Was bedeuten CN2, GIA, CIA, BGP und IPLC?

Was ist die CN2-Linie? CN2 steht für China Teleco...

Wie viele Ports kann ein Linux-Server maximal öffnen?

Inhaltsverzeichnis Hafenbezogene Konzepte: Bezieh...

Saubere XHTML-Syntax

Das Schreiben von XHTML erfordert eine saubere HTM...

So verwenden Sie mysqldump zum Sichern von MySQL-Daten

1. Einführung in mysqldump mysqldump ist ein logi...

Erfahren Sie schnell, wie Sie mit der Vuex-Statusverwaltung in Vue3.0 beginnen

Vuex ist ein speziell für Vue.js-Anwendungen entw...

Detaillierte Erklärung zur Verwendung der vue3 Teleport-Sofortbewegungsfunktion

Die Verwendung der vue3 Teleport-Sofortbewegungsf...

Eine detaillierte Analyse und Verarbeitung von MySQL-Alarmen

Vor kurzem hat ein Dienst einen Alarm ausgelöst, ...