Modul Grundmodul

modulehttp

Das http-Modul kapselt die Verarbeitung von HTTP-Anfragen und -Antworten und ermöglicht uns die einfache Erstellung eines http-Servers oder die Simulation eines Clients zum Initiieren einer http-Anfrage. Mit dem http-Modul können Entwickler problemlos Code schreiben und verarbeiten, der sich auf das HTTP-Protokoll bezieht.

Das Folgende ist ein einfaches Beispiel für die Erstellung eines Webservers und die Rückgabe einer „Hallo Welt“-Antwort:

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 führen wir das http-Modul ein, definieren dann ein http-Serverobjekt und binden es an die lokale 8080-Portnummer. 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 während des Besuchs zu speichernurlBeim Tragen des entsprechenden Cookies http-Client-Objekt. du kannst es benutzenhttp.ClientGreifen Sie auf HTTP-Schnittstellenanforderungen zu, führen Sie HTTP-Downloads und eine Reihe von HTTP-bezogenen Vorgängen durch. Drunter isthttp.ClientAnwendungsbeispiele:

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

Im obigen Beispiel ahttp.ClientObjekt und ruft dann getdie Methode auf, um eine http-GET-Anfrage an fibjs.org zu initiieren.

Zusätzlich,http.ClientEs gibt einige andere Eigenschaften und Methoden, die aufgerufen werden können, z. cookiesB. usw.

Das https-Modul ist ein Alias ​​des http-Moduls. Sie require('https')können auch das http-Modul verwenden.

Objekt

Request

Erstellen Sie ein HTTP-Anforderungsobjekt, 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-Prozessor 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: String, Dateistammpfad
  • mimes: Objekt, erweiterte Mime-Einstellungen
  • autoIndex: Boolescher Wert, ob das Durchsuchen von Verzeichnisdateien unterstützt werden soll. Der Standardwert ist false und wird nicht unterstützt

Rückgabeergebnisse:

  • Handler, gibt einen statischen Dateiprozessor zur Verarbeitung von HTTP-Nachrichten zurück

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


setClientCert

Legen Sie das Standard-Client-Zertifikat fest

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

Aufrufparameter:

  • crt:X509Cert, Zertifikat, das zum Senden an den Server zur Überprüfung des Clients verwendet wird
  • key:PKey, privater Schlüssel, der zur Kommunikation mit dem Client verwendet wird

request

Senden Sie eine http-Anfrage 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ückgabeergebnisse:


Senden Sie eine http-Anfrage 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ückgabeergebnisse:


Anfrage angegebenurl, und das Ergebnis zurückgeben

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

Aufrufparameter:

  • method: Zeichenfolge, geben Sie die HTTP-Anforderungsmethode an: GET, POST usw.
  • url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
  • opts: Objekt, zusätzliche Informationen angeben

Rückgabeergebnisse:

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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 }

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


Verwenden Sie die GET-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("GET", ...) entspricht.

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

Aufrufparameter:

  • url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
  • opts: Objekt, zusätzliche Informationen angeben

Rückgabeergebnisse:

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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": {} }

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


Anforderungsoptionen angegebenurl, und das Ergebnis zurückgeben

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

Aufrufparameter:

  • opts: Objekt, zusätzliche Informationen angeben

Rückgabeergebnisse:

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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": {} }

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


get

Verwenden Sie die GET-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("GET", ...) entspricht.

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

Aufrufparameter:

  • url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
  • opts: Objekt, zusätzliche Informationen angeben

Rückgabeergebnisse:

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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": {} }

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


post

Verwenden Sie die POST-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("POST", ...) entspricht.

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

Aufrufparameter:

  • url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
  • opts: Objekt, zusätzliche Informationen angeben

Rückgabeergebnisse:

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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": {} }

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


del

Verwenden Sie die DELETE-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("DELETE", ...) entspricht.

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

Aufrufparameter:

  • url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
  • opts: Objekt, zusätzliche Informationen angeben

Rückgabeergebnisse:

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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": {} }

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


put

Verwenden Sie die PUT-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("PUT", ...) entspricht.

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

Aufrufparameter:

  • url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
  • opts: Objekt, zusätzliche Informationen angeben

Rückgabeergebnisse:

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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": {} }

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


patch

Verwenden Sie die PATCH-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("PATCH", ...) entspricht.

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

Aufrufparameter:

  • url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
  • opts: Objekt, zusätzliche Informationen angeben

Rückgabeergebnisse:

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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": {} }

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


Verwenden Sie die HEAD-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("HEAD", ...) entspricht.

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

Aufrufparameter:

  • url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
  • opts: Objekt, zusätzliche Informationen angeben

Rückgabeergebnisse:

opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:

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": {} }

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

statische Eigenschaften

STATUS_CODES

Das Objekt gibt eine Sammlung standardmäßiger HTTP-Antwortstatuscodes und deren jeweilige Kurzbeschreibungen zurück.

1
static readonly Object http.STATUS_CODES;

cookies

NArray, gibt den http-Client zurückHttpCookieObjektliste

1
static readonly NArray http.cookies;

timeout

Ganzzahl, Abfrage und Zeitüberschreitung festlegen

1
static Integer http.timeout;

enableCookie

Boolescher Wert, Cookie-Funktionsschalter, standardmäßig aktiviert

1
static Boolean http.enableCookie;

autoRedirect

Boolescher, automatischer Umleitungsfunktionsschalter, standardmäßig aktiviert

1
static Boolean http.autoRedirect;

enableEncoding

Boolescher, automatischer Dekomprimierungsfunktionsschalter, standardmäßig aktiviert

1
static Boolean http.enableEncoding;

maxHeadersCount

Geben Sie eine Ganzzahl ein, fragen Sie ab und legen Sie die maximale Anzahl von Anforderungsheadern fest. Der Standardwert ist 128

1
static Integer http.maxHeadersCount;

maxHeaderSize

Geben Sie eine Ganzzahl ein, fragen Sie ab und legen Sie die maximale Länge des Anforderungsheaders fest. Der Standardwert ist 8192

1
static Integer http.maxHeaderSize;

maxBodySize

Ganzzahl, Abfrage und Festlegung der maximalen Körpergröße in MB, der Standardwert ist -1, keine Größenbeschränkung

1
static Integer http.maxBodySize;

userAgent

Zeichenfolge, Abfrage und Festlegung der Browser-ID in der HTTP-Anfrage

1
static String http.userAgent;

poolSize

Ganzzahl, Abfrage und Festlegung der maximalen Anzahl von Keep-Alive-Cache-Verbindungen, Standard 128

1
static Integer http.poolSize;

poolTimeout

Ganzzahl, Abfrage und Festlegung des Verbindungs-Timeouts für den Keep-Alive-Cache, Standard 10000 ms

1
static Integer http.poolTimeout;

http_proxy

Zeichenfolge, Abfrage und Festlegung des HTTP-Anforderungs-Proxys, Unterstützung des http/https/socks5-Proxys

1
static String http.http_proxy;

https_proxy

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

1
static String http.https_proxy;