modulehttp
De http-module omvat de verwerking van HTTP-verzoeken en -antwoorden, waardoor we eenvoudig een http-server kunnen maken of een client kunnen simuleren om een http-verzoek te initiëren. Met behulp van de http-module kunnen ontwikkelaars eenvoudig code schrijven en verwerken die verband houdt met het HTTP-protocol.
Het volgende is een eenvoudig voorbeeld van het maken van een webserver en het retourneren van een Hello World-antwoord:
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 dit voorbeeld introduceren we de http-module, definiëren vervolgens een http-serverobject en binden dit aan het lokale 8080-poortnummer. Wanneer een verzoek naar dit poortnummer wordt verzonden, wordt het antwoord ingesteld op de tekenreeks "Hallo wereld!".
Tegelijkertijd bevat de http-module ook clientobjecten,http.ClientSimuleer de browseromgeving om cookies te cachen en op te slaan tijdens het bezoekurlBij het dragen van het overeenkomstige cookie http-clientobject. je kan het gebruikenhttp.ClientKrijg toegang tot http-interfaceverzoeken, voer http-downloads uit en een reeks http-gerelateerde bewerkingen. Hieronder ishttp.ClientToepassingsvoorbeelden:
1
2
3
4var http = require('http');
var httpClient = new http.Client();
httpClient.get('http://fibjs.org');
In het bovenstaande voorbeeld is ahttp.Clientobject en roept vervolgens get
de methode aan om een http GET-verzoek naar fibjs.org te initiëren.
in aanvulling,http.ClientEr zijn nog enkele andere eigenschappen en methoden die kunnen worden aangeroepen, zoals cookies
etc.
De https-module is een alias van de http-module, u require('https')
kunt ook de http-module gebruiken.
voorwerp
Request
Maak een http-verzoekobject, zieHttpRequest
1HttpRequest http.Request;
Response
Maak een http-antwoordobject, zieHttpResponse
1HttpResponse http.Response;
Cookie
Maak een http-cookie-object, zieHttpCookie
1HttpCookie http.Cookie;
Server
Maak een http-server, zieHttpServer
1HttpServer http.Server;
Client
Maak een http-client, zieHttpClient
1HttpClient http.Client;
HttpsServer
Maak een https-server, zieHttpsServer
1HttpsServer http.HttpsServer;
Handler
Maak een http-protocolhandlerobject, zieHttpHandler
1HttpHandler http.Handler;
Repeater
Maak een http-request forwarding handler-object, zieHttpRepeater
1HttpRepeater http.Repeater;
statische functie
fileHandler
Maak een http-statische bestandsprocessor om te reageren op http-berichten met statische bestanden
1
2
3static Handler http.fileHandler(String root,
Object mimes = {},
Boolean autoIndex = false);
Oproepparameters:
- root: String, bestandshoofdpad
- mimes: Object, uitgebreide mime-instellingen
- autoIndex: Booleaans, of ondersteuning voor het bladeren door directorybestanden wordt ondersteund; de standaardwaarde is false en wordt niet ondersteund
Resultaten retourneren:
- Handler, retourneert een statische bestandsprocessor voor het verwerken van http-berichten
fileHandler ondersteunt gzip-pre-compressie. Wanneer het verzoek gzip-codering accepteert en het bestand bestandsnaam.ext.gz in hetzelfde pad bestaat, wordt dit bestand direct geretourneerd, waardoor serverbelasting door herhaalde compressie wordt vermeden.
setClientCert
Stel het standaardclientcertificaat in
1
2static http.setClientCert(X509Cert crt,
PKey key);
Oproepparameters:
- crt:X509Cert, certificaat, gebruikt om naar de server te verzenden om de client te verifiëren
- key:PKey, privésleutel, gebruikt om met de klant te praten
request
Stuur een http-verzoek naar het opgegeven streamobject en retourneer het resultaat
1
2static HttpResponse http.request(Stream conn,
HttpRequest req) async;
Oproepparameters:
- conn:Stream, specificeert het streamobject dat het verzoek moet afhandelen
- req:HttpRequest, om verzonden te wordenHttpRequestvoorwerp
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
Stuur een http-verzoek naar het opgegeven streamobject en retourneer het resultaat
1
2
3static HttpResponse http.request(Stream conn,
HttpRequest req,
SeekableStream response_body) async;
Oproepparameters:
- conn:Stream, specificeert het streamobject dat het verzoek moet afhandelen
- req:HttpRequest, om verzonden te wordenHttpRequestvoorwerp
- response_body:SeekableStream, geef de stroom van response.body op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
verzoek gespecificeerdurlen retourneer het resultaat
1
2
3static HttpResponse http.request(String method,
String url,
Object opts = {}) async;
Oproepparameters:
- method: String, specificeer de http-verzoekmethode: GET, POST, etc.
- url: Tekenreeks, specificeerurl, moet de volledige bevattende host zijnurl
- opts: Object, geef aanvullende informatie op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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
}
Onder hen lichaam,json, pakket mag niet tegelijkertijd verschijnen. De standaardwaarde is {}, die geen aanvullende informatie bevat
Gebruik de GET-methode om het opgegevenurl, en retourneert het resultaat, dat gelijk is aan request("GET", ...)
1
2static HttpResponse http.request(String url,
Object opts = {}) async;
Oproepparameters:
- url: Tekenreeks, specificeerurl, moet de volledige bevattende host zijnurl
- opts: Object, geef aanvullende informatie op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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": {}
}
Onder hen lichaam,json, pakket mag niet tegelijkertijd verschijnen. De standaardwaarde is {}, die geen aanvullende informatie bevat
Verzoekopties gespecificeerdurlen retourneer het resultaat
1static HttpResponse http.request(Object opts) async;
Oproepparameters:
- opts: Object, geef aanvullende informatie op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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": {}
}
Onder hen lichaam,json, pakket mag niet tegelijkertijd verschijnen. De standaardwaarde is {}, die geen aanvullende informatie bevat
get
Gebruik de GET-methode om het opgegevenurl, en retourneert het resultaat, dat gelijk is aan request("GET", ...)
1
2static HttpResponse http.get(String url,
Object opts = {}) async;
Oproepparameters:
- url: Tekenreeks, specificeerurl, moet de volledige bevattende host zijnurl
- opts: Object, geef aanvullende informatie op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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": {}
}
Onder hen lichaam,json, pakket mag niet tegelijkertijd verschijnen. De standaardwaarde is {}, die geen aanvullende informatie bevat
post
Gebruik de POST-methode om het opgegeven bestand op te vragenurl, en retourneert het resultaat, dat gelijk is aan request("POST", ...)
1
2static HttpResponse http.post(String url,
Object opts = {}) async;
Oproepparameters:
- url: Tekenreeks, specificeerurl, moet de volledige bevattende host zijnurl
- opts: Object, geef aanvullende informatie op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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": {}
}
Onder hen lichaam,json, pakket mag niet tegelijkertijd verschijnen. De standaardwaarde is {}, die geen aanvullende informatie bevat
del
Gebruik de DELETE-methode om het opgegeven bestand op te vragenurl, en retourneert het resultaat, dat gelijk is aan request("DELETE", ...)
1
2static HttpResponse http.del(String url,
Object opts = {}) async;
Oproepparameters:
- url: Tekenreeks, specificeerurl, moet de volledige bevattende host zijnurl
- opts: Object, geef aanvullende informatie op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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": {}
}
Onder hen lichaam,json, pakket mag niet tegelijkertijd verschijnen. De standaardwaarde is {}, die geen aanvullende informatie bevat
put
Gebruik de PUT-methode om het opgegeven op te vragenurl, en retourneert het resultaat, dat gelijk is aan request("PUT", ...)
1
2static HttpResponse http.put(String url,
Object opts = {}) async;
Oproepparameters:
- url: Tekenreeks, specificeerurl, moet de volledige bevattende host zijnurl
- opts: Object, geef aanvullende informatie op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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": {}
}
Onder hen lichaam,json, pakket mag niet tegelijkertijd verschijnen. De standaardwaarde is {}, die geen aanvullende informatie bevat
patch
Gebruik de PATCH-methode om het opgegevenurl, en retourneert het resultaat, dat gelijk is aan request("PATCH", ...)
1
2static HttpResponse http.patch(String url,
Object opts = {}) async;
Oproepparameters:
- url: Tekenreeks, specificeerurl, moet de volledige bevattende host zijnurl
- opts: Object, geef aanvullende informatie op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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": {}
}
Onder hen lichaam,json, pakket mag niet tegelijkertijd verschijnen. De standaardwaarde is {}, die geen aanvullende informatie bevat
head
Gebruik de HEAD-methode om het opgegeven bestand op te vragenurl, en retourneert het resultaat, dat gelijk is aan request("HEAD", ...)
1
2static HttpResponse http.head(String url,
Object opts = {}) async;
Oproepparameters:
- url: Tekenreeks, specificeerurl, moet de volledige bevattende host zijnurl
- opts: Object, geef aanvullende informatie op
Resultaten retourneren:
- HttpResponse, retourneert het serverantwoord
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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": {}
}
Onder hen lichaam,json, pakket mag niet tegelijkertijd verschijnen. De standaardwaarde is {}, die geen aanvullende informatie bevat
statische eigenschappen
STATUS_CODES
Object retourneert een verzameling standaard HTTP-antwoordstatuscodes en hun respectieve korte beschrijvingen.
1static readonly Object http.STATUS_CODES;
cookies
NArray, retourneert de http-clientHttpCookieobjecten lijst
1static readonly NArray http.cookies;
timeout
Geheel getal, query en time-out instellen
1static Integer http.timeout;
enableCookie
Boolean, cookiefunctieschakelaar, standaard ingeschakeld
1static Boolean http.enableCookie;
autoRedirect
Booleaanse, automatische omleidingsfunctieschakelaar, standaard ingeschakeld
1static Boolean http.autoRedirect;
enableEncoding
Booleaanse, automatische decompressiefunctieschakelaar, standaard ingeschakeld
1static Boolean http.enableEncoding;
maxHeadersCount
Geheel getal, query en stel het maximale aantal verzoekheaders in, de standaardwaarde is 128
1static Integer http.maxHeadersCount;
maxHeaderSize
Geheel getal, query en stel de maximale lengte van de aanvraagheader in, de standaardwaarde is 8192
1static Integer http.maxHeaderSize;
maxBodySize
Geheel getal, query en stel de maximale grootte van de hoofdtekst in, in MB, de standaardwaarde is -1, geen limiet voor de grootte
1static Integer http.maxBodySize;
userAgent
Tekenreeks, query en stel de browser-ID in http-verzoek in
1static String http.userAgent;
poolSize
Integer, query en stel het maximale aantal keep-alive cache-verbindingen in, standaard 128
1static Integer http.poolSize;
poolTimeout
Geheel getal, query uitvoeren en de keep-alive cache-verbindingstime-out instellen, standaard 10.000 ms
1static Integer http.poolTimeout;
http_proxy
Tekenreeks, query en stel http-verzoekproxy in, ondersteuning http/https/socks5-proxy
1static String http.http_proxy;
https_proxy
Tekenreeks, query en stel https-verzoekproxy in, ondersteuning http/https/socks5-proxy, indien niet ingesteld of ingesteld op leeg, wordt http_proxy hergebruikt
1static String http.https_proxy;