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
7const 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
4var http = require('http');
var httpClient = new http.Client();
httpClient.get('http://fibjs.org');
En l'exemple anterior, ahttp.Clienti després crida get
al 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 cookies
etc.
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
1HttpRequest http.Request;
Response
Creeu un objecte de resposta http, vegeuHttpResponse
1HttpResponse http.Response;
Cookie
Creeu un objecte de galeta http, vegeuHttpCookie
1HttpCookie http.Cookie;
Server
Creeu un servidor http, vegeuHttpServer
1HttpServer http.Server;
Client
Creeu un client http, vegeuHttpClient
1HttpClient http.Client;
HttpsServer
Creeu un servidor https, vegeuHttpsServer
1HttpsServer http.HttpsServer;
Handler
Creeu un objecte controlador de protocol http, vegeuHttpHandler
1HttpHandler http.Handler;
Repeater
Creeu un objecte gestor de reenviament de sol·licituds http, vegeuHttpRepeater
1HttpRepeater 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
3static 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
2static 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
2static HttpResponse http.request(Stream conn,
HttpRequest req) async;
Paràmetres de trucada:
- conn:Stream, especifica l'objecte de flux per gestionar la sol·licitud
- req:HttpRequest, per enviarHttpRequestobjecte
Resultats de retorn:
- HttpResponse, retorna la resposta del servidor
Envieu una sol·licitud http a l'objecte de flux especificat i retorneu el resultat
1
2
3static HttpResponse http.request(Stream conn,
HttpRequest req,
SeekableStream response_body) async;
Paràmetres de trucada:
- conn:Stream, especifica l'objecte de flux per gestionar la sol·licitud
- req:HttpRequest, per enviarHttpRequestobjecte
- response_body:SeekableStream, especifiqueu el flux de response.body
Resultats de retorn:
- HttpResponse, retorna la resposta del servidor
petició especificadaurl, i retorna el resultat
1
2
3static 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:
- HttpResponse, retorna la resposta del servidor
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
2static 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:
- HttpResponse, retorna la resposta del servidor
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
1static HttpResponse http.request(Object opts) async;
Paràmetres de trucada:
- opts: Objecte, especifiqueu informació addicional
Resultats de retorn:
- HttpResponse, retorna la resposta del servidor
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
2static 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:
- HttpResponse, retorna la resposta del servidor
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
2static 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:
- HttpResponse, retorna la resposta del servidor
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
2static 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:
- HttpResponse, retorna la resposta del servidor
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
2static 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:
- HttpResponse, retorna la resposta del servidor
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
2static 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:
- HttpResponse, retorna la resposta del servidor
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
head
Utilitzeu el mètode HEAD per sol·licitar l'especificaturl, i retorna el resultat, que és equivalent a request("HEAD", ...)
1
2static 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:
- HttpResponse, retorna la resposta del servidor
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.
1static readonly Object http.STATUS_CODES;
cookies
NArray, retorna el client httpHttpCookiellista d'objectes
1static readonly NArray http.cookies;
timeout
Enter, consulta i estableix el temps d'espera
1static Integer http.timeout;
enableCookie
Booleà, interruptor de funció de galetes, activat per defecte
1static Boolean http.enableCookie;
autoRedirect
Commutador de funció de redirecció automàtica booleà, activat per defecte
1static Boolean http.autoRedirect;
enableEncoding
Commutador booleà de funció de descompressió automàtica, activat per defecte
1static Boolean http.enableEncoding;
maxHeadersCount
Enter, consulteu i estableixi el nombre màxim de capçaleres de sol·licitud, el valor predeterminat és 128
1static 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
1static 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
1static Integer http.maxBodySize;
userAgent
Encadena, consulta i defineix l'identificador del navegador a la sol·licitud http
1static String http.userAgent;
poolSize
Enter, consulteu i configureu el nombre màxim de connexions de memòria cau de manteniment, per defecte 128
1static 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
1static Integer http.poolTimeout;
http_proxy
Cadena, consulteu i configureu el servidor intermediari de sol·licitud http, admet el servidor intermediari http/https/socks5
1static 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
1static String http.https_proxy;