Modul Basismodul

Modul http

Das http-Modul kapselt die Verarbeitung von HTTP-Anforderungen und -Antworten, sodass wir auf einfache Weise einen HTTP-Server erstellen oder einen Client simulieren können, um eine HTTP-Anforderung zu initiieren. Mit dem http-Modul können Entwickler auf einfache Weise Code schreiben und verarbeiten, der sich auf das HTTP-Protokoll bezieht

Hier ist ein einfaches Beispiel, das einen Webserver erstellt, der eine Hallo-Welt-Antwort zurückgibt:

1 2 3 4 5 6 7
const http = require('http'); const server = new http.Server(8080, function(request) { request.response.write('Hello World!'); }); server.start();

In diesem Beispiel importieren wir das http-Modul, definieren dann ein http-Serverobjekt und binden es an die lokale Portnummer 8080. Wenn eine Anfrage an diese Portnummer gesendet wird, wird die Antwort auf die Zeichenfolge „Hello World!“ gesetzt.

Gleichzeitig enthält das http-Modul auch Client-Objekte,http.ClientSimulieren Sie die Browserumgebung, um Cookies zwischenzuspeichern und darauf zuzugreifenurlDas HTTP-Client-Objekt, das das entsprechende Cookie trägt. du kannst es benutzenhttp.ClientEine Reihe von HTTP-bezogenen Vorgängen wie der Zugriff auf HTTP-Schnittstellenanforderungen, das Durchführen von HTTP-Downloads usw. Drunter isthttp.ClientAnwendungsbeispiel für:

1 2 3 4
var http = require('http'); var httpClient = new http.Client(); httpClient.get('http://fibjs.org');

Im obigen Beispiel ahttp.Client-Objekt und rufen Sie dann getdie Methode , um eine http GET-Anforderung an fibjs.org zu initiieren.

Zusätzlich,http.ClientEs gibt noch andere Eigenschaften und Methoden, die aufgerufen werden können, cookieswie

Das https-Modul ist ein Alias ​​des http-Moduls, und das http-Modul kann require('https')auch .

Objekt

Request

Erstellen Sie ein http-Request-Objekt, sieheHttpRequest

1
HttpRequest http.Request;

Response

Erstellen Sie ein HTTP-Antwortobjekt, sieheHttpResponse

1
HttpResponse http.Response;

Erstellen Sie ein HTTP-Cookie-Objekt, sieheHttpCookie

1
HttpCookie http.Cookie;

Server

Erstellen Sie einen HTTP-Server, sieheHttpServer

1
HttpServer http.Server;

Client

Erstellen Sie einen HTTP-Client, sieheHttpClient

1
HttpClient http.Client;

HttpsServer

Erstellen Sie einen https-Server, sieheHttpsServer

1
HttpsServer http.HttpsServer;

Handler

Erstellen Sie ein HTTP-Protokoll-Handler-Objekt, sieheHttpHandler

1
HttpHandler http.Handler;

Repeater

Erstellen Sie ein HTTP-Request-Forwarding-Handler-Objekt, sieheHttpRepeater

1
HttpRepeater http.Repeater;

statische Funktion

fileHandler

Erstellen Sie einen HTTP-Handler für statische Dateien, um auf HTTP-Nachrichten mit statischen Dateien zu antworten

1 2 3
static Handler http.fileHandler(String root, Object mimes = {}, Boolean autoIndex = false);

Aufrufparameter:

  • root: Zeichenfolge, Dateistammpfad
  • mimes: Objekt, erweiterte Mime-Einstellungen
  • autoIndex: Boolean, ob das Durchsuchen von Verzeichnisdateien unterstützt werden soll, der Standardwert ist falsch, wird nicht unterstützt

Rückgabeergebnis:

  • Handler, gibt einen statischen Dateihandler für die Verarbeitung von HTTP-Nachrichten zurück

fileHandler unterstützt die gzip-Vorkomprimierung. Wenn die Anfrage die gzip-Codierung akzeptiert und die Datei filename.ext.gz im selben Pfad vorhanden ist, wird diese Datei direkt zurückgegeben, wodurch eine wiederholte Komprimierung vermieden wird, die die Serverlast verursacht.


setClientCert

Legen Sie das Standard-Client-Zertifikat fest

1 2
static http.setClientCert(X509Cert crt, PKey key);

Aufrufparameter:

  • crt:X509Cert, das Zertifikat, das zum Senden an den Server verwendet wird, um den Client zu authentifizieren
  • key:PKey, der private Schlüssel, der verwendet wird, um mit dem Client zu sprechen

request

Senden Sie eine HTTP-Anforderung an das angegebene Stream-Objekt und geben Sie das Ergebnis zurück

1 2
static HttpResponse http.request(Stream conn, HttpRequest req) async;

Aufrufparameter:

Rückgabeergebnis:


Senden Sie eine HTTP-Anforderung an das angegebene Stream-Objekt und geben Sie das Ergebnis zurück

1 2 3
static HttpResponse http.request(Stream conn, HttpRequest req, SeekableStream response_body) async;

Aufrufparameter:

Rückgabeergebnis:


gebeten anzugebenurl, und gibt das Ergebnis zurück

1 2 3
static HttpResponse http.request(String method, String url, Object opts = {}) async;

Aufrufparameter:

  • method: String, gibt die HTTP-Anfragemethode an: GET, POST usw.
  • url: Zeichenfolge, angegebenurl, die vollständig sein mussurl
  • opts: Objekt, gibt zusätzliche Informationen an

Rückgabeergebnis:

opts enthält zusätzliche Optionen für die Anfrage, der unterstützte Inhalt ist wie folgt:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {}, "response_body": SeekableStream // specify response.body stream }

wo Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, enthält keine zusätzlichen Informationen


Verwenden Sie die GET-Methode, um die angegebene anzufordernurl, und geben Sie das Ergebnis zurück, das äquivalent ist zu request("GET", ...)

1 2
static HttpResponse http.request(String url, Object opts = {}) async;

Aufrufparameter:

  • url: Zeichenfolge, angegebenurl, die vollständig sein mussurl
  • opts: Objekt, gibt zusätzliche Informationen an

Rückgabeergebnis:

opts enthält zusätzliche Optionen für die Anfrage, der unterstützte Inhalt ist wie folgt:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

wo Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, enthält keine zusätzlichen Informationen


Anfrageoptionen angegebenurl, und gibt das Ergebnis zurück

1
static HttpResponse http.request(Object opts) async;

Aufrufparameter:

  • opts: Objekt, gibt zusätzliche Informationen an

Rückgabeergebnis:

opts enthält zusätzliche Optionen für die Anfrage, der unterstützte Inhalt ist wie folgt:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

wo Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, enthält keine zusätzlichen Informationen


get

Verwenden Sie die GET-Methode, um die angegebene anzufordernurl, und geben Sie das Ergebnis zurück, das äquivalent ist zu request("GET", ...)

1 2
static HttpResponse http.get(String url, Object opts = {}) async;

Aufrufparameter:

  • url: Zeichenfolge, angegebenurl, die vollständig sein mussurl
  • opts: Objekt, gibt zusätzliche Informationen an

Rückgabeergebnis:

opts enthält zusätzliche Optionen für die Anfrage, der unterstützte Inhalt ist wie folgt:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

wo Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, enthält keine zusätzlichen Informationen


post

Verwenden Sie die POST-Methode, um die angegebene anzufordernurl, und geben Sie das Ergebnis zurück, das äquivalent ist zu request("POST", ...)

1 2
static HttpResponse http.post(String url, Object opts = {}) async;

Aufrufparameter:

  • url: Zeichenfolge, angegebenurl, die vollständig sein mussurl
  • opts: Objekt, gibt zusätzliche Informationen an

Rückgabeergebnis:

opts enthält zusätzliche Optionen für die Anfrage, der unterstützte Inhalt ist wie folgt:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

wo Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, enthält keine zusätzlichen Informationen


del

Verwenden Sie die DELETE-Methode, um die angegebene anzufordernurl, und geben Sie das Ergebnis zurück, das äquivalent ist zu request("DELETE", ...)

1 2
static HttpResponse http.del(String url, Object opts = {}) async;

Aufrufparameter:

  • url: Zeichenfolge, angegebenurl, die vollständig sein mussurl
  • opts: Objekt, gibt zusätzliche Informationen an

Rückgabeergebnis:

opts enthält zusätzliche Optionen für die Anfrage, der unterstützte Inhalt ist wie folgt:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

wo Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, enthält keine zusätzlichen Informationen


put

Verwenden Sie die PUT-Methode, um die angegebene anzufordernurl, und geben Sie das Ergebnis zurück, das äquivalent ist zu request("PUT", ...)

1 2
static HttpResponse http.put(String url, Object opts = {}) async;

Aufrufparameter:

  • url: Zeichenfolge, angegebenurl, die vollständig sein mussurl
  • opts: Objekt, gibt zusätzliche Informationen an

Rückgabeergebnis:

opts enthält zusätzliche Optionen für die Anfrage, der unterstützte Inhalt ist wie folgt:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

wo Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, enthält keine zusätzlichen Informationen


patch

Verwenden Sie die PATCH-Methode, um die angegebene anzufordernurl, und geben Sie das Ergebnis zurück, das äquivalent ist zu request("PATCH", ...)

1 2
static HttpResponse http.patch(String url, Object opts = {}) async;

Aufrufparameter:

  • url: Zeichenfolge, angegebenurl, die vollständig sein mussurl
  • opts: Objekt, gibt zusätzliche Informationen an

Rückgabeergebnis:

opts enthält zusätzliche Optionen für die Anfrage, der unterstützte Inhalt ist wie folgt:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

wo Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, enthält keine zusätzlichen Informationen


Verwenden Sie die HEAD-Methode, um die angegebene anzufordernurl, und geben Sie das Ergebnis zurück, das äquivalent ist zu request("HEAD", ...)

1 2
static HttpResponse http.head(String url, Object opts = {}) async;

Aufrufparameter:

  • url: Zeichenfolge, angegebenurl, die vollständig sein mussurl
  • opts: Objekt, gibt zusätzliche Informationen an

Rückgabeergebnis:

opts enthält zusätzliche Optionen für die Anfrage, der unterstützte Inhalt ist wie folgt:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "method": "GET", // specify the http request method: GET, POST, etc, default: GET. "protocol": "http", "slashes": true, "username": "", "password": "", "hostname": "", "port": "", "pathname": "", "query": {}, "body": SeekableStream | Buffer | String | {}, "json": {}, "pack": {}, "headers": {} }

wo Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, enthält keine zusätzlichen Informationen

statische Eigenschaft

STATUS_CODES

Array, gibt eine Sammlung von standardmäßigen HTTP-Antwortstatuscodes und jeweils eine kurze Beschreibung zurück.

1
static readonly Array http.STATUS_CODES;

cookies

NArray, gibt den HTTP-Client zurückHttpCookieObjektliste

1
static readonly NArray http.cookies;

timeout

Ganzzahl, Abfrage und Timeout setzen

1
static Integer http.timeout;

enableCookie

Boolean, Cookie-Funktionsschalter, standardmäßig aktiviert

1
static Boolean http.enableCookie;

autoRedirect

Boolean, automatischer Umleitungsfunktionsschalter, standardmäßig aktiviert

1
static Boolean http.autoRedirect;

enableEncoding

Boolean, automatischer Dekompressionsfunktionsschalter, standardmäßig aktiviert

1
static Boolean http.enableEncoding;

maxBodySize

Ganzzahl, Abfrage und Festlegen der maximalen Größe des Hauptteils in MB, der Standardwert ist -1, keine Größenbeschränkung

1
static Integer http.maxBodySize;

userAgent

Zeichenfolge, Abfrage und Browser-ID in HTTP-Anforderung festlegen

1
static String http.userAgent;

poolSize

Ganzzahl, Abfrage und Festlegen der maximalen Anzahl von Cache-Verbindungen für Keep-Alive, der Standardwert ist 128

1
static Integer http.poolSize;

poolTimeout

Ganzzahl, Abfrage und Zeitüberschreitung für Keep-Alive-Cacheverbindung, Standard 10000 ms

1
static Integer http.poolTimeout;

http_proxy

Zeichenfolge, Abfrage und HTTP-Anfrage-Proxy festlegen, http/https/socks5-Proxy unterstützen

1
static String http.http_proxy;

https_proxy

Zeichenfolge, Abfrage und https-Anforderungsproxy festlegen, http/https/socks5-Proxy unterstützen, wenn nicht festgelegt oder auf leer gesetzt, wird http_proxy wiederverwendet

1
static String http.https_proxy;