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
7const 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
4var http = require('http');
var httpClient = new http.Client();
httpClient.get('http://fibjs.org');
Im obigen Beispiel ahttp.Client-Objekt und rufen Sie dann get
die 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, cookies
wie
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
1HttpRequest http.Request;
Response
Erstellen Sie ein HTTP-Antwortobjekt, sieheHttpResponse
1HttpResponse http.Response;
Cookie
Erstellen Sie ein HTTP-Cookie-Objekt, sieheHttpCookie
1HttpCookie http.Cookie;
Server
Erstellen Sie einen HTTP-Server, sieheHttpServer
1HttpServer http.Server;
Client
Erstellen Sie einen HTTP-Client, sieheHttpClient
1HttpClient http.Client;
HttpsServer
Erstellen Sie einen https-Server, sieheHttpsServer
1HttpsServer http.HttpsServer;
Handler
Erstellen Sie ein HTTP-Protokoll-Handler-Objekt, sieheHttpHandler
1HttpHandler http.Handler;
Repeater
Erstellen Sie ein HTTP-Request-Forwarding-Handler-Objekt, sieheHttpRepeater
1HttpRepeater 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
3static 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
2static 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
2static HttpResponse http.request(Stream conn,
HttpRequest req) async;
Aufrufparameter:
- conn:Stream, gibt das Stream-Objekt an, das die Anforderung verarbeitet
- req:HttpRequest, sendenHttpRequestObjekt
Rückgabeergebnis:
- HttpResponse, gibt die Serverantwort zurück
Senden Sie eine HTTP-Anforderung an das angegebene Stream-Objekt und geben Sie das Ergebnis zurück
1
2
3static HttpResponse http.request(Stream conn,
HttpRequest req,
SeekableStream response_body) async;
Aufrufparameter:
- conn:Stream, gibt das Stream-Objekt an, das die Anforderung verarbeitet
- req:HttpRequest, sendenHttpRequestObjekt
- response_body:SeekableStream, gibt den Stream von response.body an
Rückgabeergebnis:
- HttpResponse, gibt die Serverantwort zurück
gebeten anzugebenurl, und gibt das Ergebnis zurück
1
2
3static 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:
- HttpResponse, gibt die Serverantwort zurück
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
2static 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:
- HttpResponse, gibt die Serverantwort zurück
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
1static HttpResponse http.request(Object opts) async;
Aufrufparameter:
- opts: Objekt, gibt zusätzliche Informationen an
Rückgabeergebnis:
- HttpResponse, gibt die Serverantwort zurück
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
2static 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:
- HttpResponse, gibt die Serverantwort zurück
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
2static 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:
- HttpResponse, gibt die Serverantwort zurück
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
2static 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:
- HttpResponse, gibt die Serverantwort zurück
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
2static 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:
- HttpResponse, gibt die Serverantwort zurück
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
2static 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:
- HttpResponse, gibt die Serverantwort zurück
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
head
Verwenden Sie die HEAD-Methode, um die angegebene anzufordernurl, und geben Sie das Ergebnis zurück, das äquivalent ist zu request("HEAD", ...)
1
2static 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:
- HttpResponse, gibt die Serverantwort zurück
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.
1static readonly Array http.STATUS_CODES;
cookies
NArray, gibt den HTTP-Client zurückHttpCookieObjektliste
1static readonly NArray http.cookies;
timeout
Ganzzahl, Abfrage und Timeout setzen
1static Integer http.timeout;
enableCookie
Boolean, Cookie-Funktionsschalter, standardmäßig aktiviert
1static Boolean http.enableCookie;
autoRedirect
Boolean, automatischer Umleitungsfunktionsschalter, standardmäßig aktiviert
1static Boolean http.autoRedirect;
enableEncoding
Boolean, automatischer Dekompressionsfunktionsschalter, standardmäßig aktiviert
1static Boolean http.enableEncoding;
maxBodySize
Ganzzahl, Abfrage und Festlegen der maximalen Größe des Hauptteils in MB, der Standardwert ist -1, keine Größenbeschränkung
1static Integer http.maxBodySize;
userAgent
Zeichenfolge, Abfrage und Browser-ID in HTTP-Anforderung festlegen
1static String http.userAgent;
poolSize
Ganzzahl, Abfrage und Festlegen der maximalen Anzahl von Cache-Verbindungen für Keep-Alive, der Standardwert ist 128
1static Integer http.poolSize;
poolTimeout
Ganzzahl, Abfrage und Zeitüberschreitung für Keep-Alive-Cacheverbindung, Standard 10000 ms
1static Integer http.poolTimeout;
http_proxy
Zeichenfolge, Abfrage und HTTP-Anfrage-Proxy festlegen, http/https/socks5-Proxy unterstützen
1static 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
1static String http.https_proxy;