Module basismodule

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 7
const 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 4
var http = require('http'); var httpClient = new http.Client(); httpClient.get('http://fibjs.org');

In het bovenstaande voorbeeld is ahttp.Clientobject en roept vervolgens getde 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 cookiesetc.

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

1
HttpRequest http.Request;

Response

Maak een http-antwoordobject, zieHttpResponse

1
HttpResponse http.Response;

Maak een http-cookie-object, zieHttpCookie

1
HttpCookie http.Cookie;

Server

Maak een http-server, zieHttpServer

1
HttpServer http.Server;

Client

Maak een http-client, zieHttpClient

1
HttpClient http.Client;

HttpsServer

Maak een https-server, zieHttpsServer

1
HttpsServer http.HttpsServer;

Handler

Maak een http-protocolhandlerobject, zieHttpHandler

1
HttpHandler http.Handler;

Repeater

Maak een http-request forwarding handler-object, zieHttpRepeater

1
HttpRepeater http.Repeater;

statische functie

fileHandler

Maak een http-statische bestandsprocessor om te reageren op http-berichten met statische bestanden

1 2 3
static 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 2
static 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 2
static HttpResponse http.request(Stream conn, HttpRequest req) async;

Oproepparameters:

Resultaten retourneren:


Stuur een http-verzoek naar het opgegeven streamobject en retourneer het resultaat

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

Oproepparameters:

Resultaten retourneren:


verzoek gespecificeerdurlen retourneer het resultaat

1 2 3
static 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:

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 2
static 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:

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

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

Oproepparameters:

  • opts: Object, geef aanvullende informatie op

Resultaten retourneren:

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 2
static 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:

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 2
static 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:

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 2
static 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:

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 2
static 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:

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 2
static 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:

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


Gebruik de HEAD-methode om het opgegeven bestand op te vragenurl, en retourneert het resultaat, dat gelijk is aan request("HEAD", ...)

1 2
static 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:

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.

1
static readonly Object http.STATUS_CODES;

cookies

NArray, retourneert de http-clientHttpCookieobjecten lijst

1
static readonly NArray http.cookies;

timeout

Geheel getal, query en time-out instellen

1
static Integer http.timeout;

enableCookie

Boolean, cookiefunctieschakelaar, standaard ingeschakeld

1
static Boolean http.enableCookie;

autoRedirect

Booleaanse, automatische omleidingsfunctieschakelaar, standaard ingeschakeld

1
static Boolean http.autoRedirect;

enableEncoding

Booleaanse, automatische decompressiefunctieschakelaar, standaard ingeschakeld

1
static Boolean http.enableEncoding;

maxHeadersCount

Geheel getal, query en stel het maximale aantal verzoekheaders in, de standaardwaarde is 128

1
static Integer http.maxHeadersCount;

maxHeaderSize

Geheel getal, query en stel de maximale lengte van de aanvraagheader in, de standaardwaarde is 8192

1
static 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

1
static Integer http.maxBodySize;

userAgent

Tekenreeks, query en stel de browser-ID in http-verzoek in

1
static String http.userAgent;

poolSize

Integer, query en stel het maximale aantal keep-alive cache-verbindingen in, standaard 128

1
static Integer http.poolSize;

poolTimeout

Geheel getal, query uitvoeren en de keep-alive cache-verbindingstime-out instellen, standaard 10.000 ms

1
static Integer http.poolTimeout;

http_proxy

Tekenreeks, query en stel http-verzoekproxy in, ondersteuning http/https/socks5-proxy

1
static 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

1
static String http.https_proxy;