Mòdul mòdul bàsic

mòdulhttp

El mòdul http encapsula el processament de sol·licituds i respostes HTTP, la qual cosa ens permet crear fàcilment un servidor http o simular un client per iniciar una sol·licitud http. Mitjançant el mòdul http, els desenvolupadors poden escriure i processar fàcilment codi relacionat amb el protocol HTTP.

El següent és un exemple senzill per crear un servidor web i retornar una resposta hello world:

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();

En aquest exemple, introduïm el mòdul http, després definim un objecte de servidor http i l'enllaçem al número de port 8080 local. Quan s'envia una sol·licitud a aquest número de port, la resposta s'establirà en la cadena "Hola món!".

Al mateix temps, el mòdul http també conté objectes de client,http.ClientSimula l'entorn del navegador per emmagatzemar galetes a la memòria cau i emmagatzemar-les durant la visitaurlQuan es porta l'objecte client http cookie corresponent. pots utilitzar-lohttp.ClientAccediu a les sol·licituds d'interfície http, realitzeu descàrregues http i una sèrie d'operacions relacionades amb http. A continuació es mostrahttp.ClientExemples d'aplicació:

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

En l'exemple anterior, ahttp.Clienti després crida getal mètode per iniciar una sol·licitud http GET a fibjs.org.

a més,http.ClientHi ha altres propietats i mètodes que es poden cridar, com ara cookiesetc.

El mòdul https és un àlies del mòdul http. require('https')També podeu utilitzar el mòdul http.

objecte

Request

Creeu un objecte de sol·licitud http, vegeuHttpRequest

1
HttpRequest http.Request;

Response

Creeu un objecte de resposta http, vegeuHttpResponse

1
HttpResponse http.Response;

Creeu un objecte de galeta http, vegeuHttpCookie

1
HttpCookie http.Cookie;

Server

Creeu un servidor http, vegeuHttpServer

1
HttpServer http.Server;

Client

Creeu un client http, vegeuHttpClient

1
HttpClient http.Client;

HttpsServer

Creeu un servidor https, vegeuHttpsServer

1
HttpsServer http.HttpsServer;

Handler

Creeu un objecte controlador de protocol http, vegeuHttpHandler

1
HttpHandler http.Handler;

Repeater

Creeu un objecte gestor de reenviament de sol·licituds http, vegeuHttpRepeater

1
HttpRepeater http.Repeater;

funció estàtica

fileHandler

Creeu un processador de fitxers estàtics http per respondre als missatges http amb fitxers estàtics

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

Paràmetres de trucada:

  • root: Cadena, camí arrel del fitxer
  • mimes: Objecte, configuració de mímica ampliada
  • autoIndex: Booleà, si admet la navegació de fitxers de directoris, el valor per defecte és fals, no és compatible

Resultats de retorn:

  • Handler, retorna un processador de fitxers estàtic per processar missatges http

fileHandler admet la precompressió gzip. Quan la sol·licitud accepta la codificació gzip i el fitxer filename.ext.gz existeix al mateix camí, aquest fitxer es retornarà directament, evitant així la càrrega del servidor causada per la compressió repetida.


setClientCert

Estableix el certificat de client predeterminat

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

Paràmetres de trucada:

  • crt:X509Cert, certificat, utilitzat per enviar al servidor per verificar el client
  • key:PKey, clau privada, utilitzada per parlar amb el client

request

Envieu una sol·licitud http a l'objecte de flux especificat i retorneu el resultat

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

Paràmetres de trucada:

Resultats de retorn:


Envieu una sol·licitud http a l'objecte de flux especificat i retorneu el resultat

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

Paràmetres de trucada:

Resultats de retorn:


petició especificadaurl, i retorna el resultat

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

Paràmetres de trucada:

  • method: Cadena, especifiqueu el mètode de sol·licitud http: GET, POST, etc.
  • url: Cadena, especifiqueuurl, ha de ser l'amfitrió que conté completurl
  • opts: Objecte, especifiqueu informació addicional

Resultats de retorn:

opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:

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 }

Entre ells el cos,jsonEl paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional


Utilitzeu el mètode GET per sol·licitar l'especificaturl, i retorna el resultat, que és equivalent a request("GET", ...)

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

Paràmetres de trucada:

  • url: Cadena, especifiqueuurl, ha de ser l'amfitrió que conté completurl
  • opts: Objecte, especifiqueu informació addicional

Resultats de retorn:

opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:

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

Entre ells el cos,jsonEl paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional


Opcions de sol·licitud especificadesurl, i retorna el resultat

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

Paràmetres de trucada:

  • opts: Objecte, especifiqueu informació addicional

Resultats de retorn:

opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:

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

Entre ells el cos,jsonEl paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional


get

Utilitzeu el mètode GET per sol·licitar l'especificaturl, i retorna el resultat, que és equivalent a request("GET", ...)

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

Paràmetres de trucada:

  • url: Cadena, especifiqueuurl, ha de ser l'amfitrió que conté completurl
  • opts: Objecte, especifiqueu informació addicional

Resultats de retorn:

opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:

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

Entre ells el cos,jsonEl paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional


post

Utilitzeu el mètode POST per sol·licitar l'especificaturl, i retorna el resultat, que és equivalent a request("POST", ...)

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

Paràmetres de trucada:

  • url: Cadena, especifiqueuurl, ha de ser l'amfitrió que conté completurl
  • opts: Objecte, especifiqueu informació addicional

Resultats de retorn:

opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:

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

Entre ells el cos,jsonEl paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional


del

Utilitzeu el mètode DELETE per sol·licitar l'especificaturl, i retorna el resultat, que és equivalent a request("DELETE", ...)

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

Paràmetres de trucada:

  • url: Cadena, especifiqueuurl, ha de ser l'amfitrió que conté completurl
  • opts: Objecte, especifiqueu informació addicional

Resultats de retorn:

opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:

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

Entre ells el cos,jsonEl paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional


put

Utilitzeu el mètode PUT per sol·licitar l'especificaturl, i retorna el resultat, que és equivalent a request("PUT", ...)

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

Paràmetres de trucada:

  • url: Cadena, especifiqueuurl, ha de ser l'amfitrió que conté completurl
  • opts: Objecte, especifiqueu informació addicional

Resultats de retorn:

opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:

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

Entre ells el cos,jsonEl paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional


patch

Utilitzeu el mètode PATCH per sol·licitar l'especificaturl, i retorna el resultat, que és equivalent a request("PATCH", ...)

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

Paràmetres de trucada:

  • url: Cadena, especifiqueuurl, ha de ser l'amfitrió que conté completurl
  • opts: Objecte, especifiqueu informació addicional

Resultats de retorn:

opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:

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

Entre ells el cos,jsonEl paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional


Utilitzeu el mètode HEAD per sol·licitar l'especificaturl, i retorna el resultat, que és equivalent a request("HEAD", ...)

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

Paràmetres de trucada:

  • url: Cadena, especifiqueuurl, ha de ser l'amfitrió que conté completurl
  • opts: Objecte, especifiqueu informació addicional

Resultats de retorn:

opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:

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

Entre ells el cos,jsonEl paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional

propietats estàtiques

STATUS_CODES

Object, retorna una col·lecció de codis d'estat de resposta HTTP estàndard i les seves respectives descripcions breus.

1
static readonly Object http.STATUS_CODES;

cookies

NArray, retorna el client httpHttpCookiellista d'objectes

1
static readonly NArray http.cookies;

timeout

Enter, consulta i estableix el temps d'espera

1
static Integer http.timeout;

enableCookie

Booleà, interruptor de funció de galetes, activat per defecte

1
static Boolean http.enableCookie;

autoRedirect

Commutador de funció de redirecció automàtica booleà, activat per defecte

1
static Boolean http.autoRedirect;

enableEncoding

Commutador booleà de funció de descompressió automàtica, activat per defecte

1
static Boolean http.enableEncoding;

maxHeadersCount

Enter, consulteu i estableixi el nombre màxim de capçaleres de sol·licitud, el valor predeterminat és 128

1
static Integer http.maxHeadersCount;

maxHeaderSize

Enter, consulteu i estableixi la longitud màxima de la capçalera de la sol·licitud, el valor per defecte és 8192

1
static Integer http.maxHeaderSize;

maxBodySize

Enter, consulta i estableix la mida màxima del cos, en MB, el valor per defecte és -1, sense límit de mida

1
static Integer http.maxBodySize;

userAgent

Encadena, consulta i defineix l'identificador del navegador a la sol·licitud http

1
static String http.userAgent;

poolSize

Enter, consulteu i configureu el nombre màxim de connexions de memòria cau de manteniment, per defecte 128

1
static Integer http.poolSize;

poolTimeout

Enter, consulteu i configureu el temps d'espera de connexió de la memòria cau de manteniment, per defecte 10.000 ms

1
static Integer http.poolTimeout;

http_proxy

Cadena, consulteu i configureu el servidor intermediari de sol·licitud http, admet el servidor intermediari http/https/socks5

1
static String http.http_proxy;

https_proxy

Cadena, consulta i configura el servidor intermediari de sol·licitud https, admet el servidor intermediari http/https/socks5, si no s'estableix o s'estableix com a buit, es reutilitzarà http_proxy

1
static String http.https_proxy;