ObjectHttpClient
HttpClient és una biblioteca de classes dissenyada per a funcions de client HTTP, que proporciona sol·licituds bàsiques HTTP/HTTPS, accés al servidor intermediari, gestió de galetes i altres funcions.
Podeu accedir fàcilment a pàgines web i operar-les amb HttpClient. Aquí teniu un exemple senzill: imprimir el codi font en una pàgina web:
1
2
3
4
5const http = require('http');
const res = http.get('http://www.example.com/');
console.log(res.body.readAll().toString());
En aquest exemple, introduït mitjançant requirehttpmòdul i després utilitzar-lohttp.getInicieu una sol·licitud d'obtenció, onurlEl paràmetre especifica l'URL sol·licitat. perquèhttp.getEl mètode retorna aHttpResponseObjecte, de manera que podeu accedir al contingut del cos retornat per la sol·licitud mitjançant la seva propietat body i convertir-lo en una cadena mitjançant el mètode toString.
quan se sol·licitiurlÉs de tipus https en lloc dehttpescriviu, només cal canviar el codihttpNomés cal canviar-lo a https:
1
2
3
4
5const http = require('http');
const res = http.get('https://www.example.com/');
console.log(res.body.readAll().toString());
A més, hi ha exemples d'iniciar directament sol·licituds POST i configurar User-Agent mitjançant HttpClient:
1
2
3
4
5
6
7
8
9
10
11const http = require('http');
const httpClient = new http.Client();
httpClient.userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36';
const res = httpClient.post('http://www.example.com/post', {
json: {
name: 'fibjs',
version: '0.31.0'
}
});
console.log(res.body.readAll().toString());
En aquest exemple, primer es crea un objecte HttpClient httpClient i el seu userAgent s'estableix com a User-Agent del navegador. A continuació, inicieu una sol·licitud de publicació mitjançant el seu mètode de publicació, en què els paràmetres nom i versió especifiquen el contingut principal de la sol·licitud. Finalment, s'emet el contingut principal del valor de retorn.
relació hereditària
Constructor
HttpClient
HttpClient constructor, crea un nou objecte HttpClient
1new HttpClient();
propietats dels membres
cookies
NArray, tornahttpclientHttpCookiellista d'objectes
1readonly NArray HttpClient.cookies;
timeout
Enter, consultar i establir la unitat de temps d'espera mil·lisegons
1Integer HttpClient.timeout;
enableCookie
Booleà, interruptor de funció de galetes, activat per defecte
1Boolean HttpClient.enableCookie;
autoRedirect
Commutador de funció de redirecció automàtica booleà, activat per defecte
1Boolean HttpClient.autoRedirect;
enableEncoding
Commutador booleà de funció de descompressió automàtica, activat per defecte
1Boolean HttpClient.enableEncoding;
maxHeadersCount
Enter, consulteu i estableixi el nombre màxim de capçaleres de sol·licitud, el valor predeterminat és 128
1Integer HttpClient.maxHeadersCount;
maxHeaderSize
Enter, consulteu i estableixi la longitud màxima de la capçalera de la sol·licitud, el valor per defecte és 8192
1Integer HttpClient.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
1Integer HttpClient.maxBodySize;
userAgent
Cadena, consulta i conjunthttpL'identificador del navegador a la sol·licitud
1String HttpClient.userAgent;
poolSize
Enter, consulteu i configureu el nombre màxim de connexions de memòria cau de manteniment, per defecte 128
1Integer HttpClient.poolSize;
poolTimeout
Enter, consulteu i configureu el temps d'espera de connexió de la memòria cau de manteniment, per defecte 10.000 ms
1Integer HttpClient.poolTimeout;
http_proxy
Cadena, consulta i conjunthttpSol·licitar agent, suporthttp/https/proxy socks5
1String HttpClient.http_proxy;
https_proxy
Cadena, consulta i configura el proxy de sol·licitud https, suporthttp/https/socks5 proxy, si no s'estableix o està buit, es reutilitzarà http_proxy.
1String HttpClient.https_proxy;
sslVerification
Enter, consulteu i configureu el mode de verificació del certificat quan us connecteu a https, referènciasslVERIFY_* constants del mòdul, el valor per defecte ésssl.verification
1Integer HttpClient.sslVerification;
funció de membre
setClientCert
Estableix el certificat de client predeterminat
1
2HttpClient.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
enviarhttpSol·liciteu l'objecte de flux especificat i retorneu el resultat
1
2HttpResponse HttpClient.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
enviarhttpSol·liciteu l'objecte de flux especificat i retorneu el resultat
1
2
3HttpResponse HttpClient.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
3HttpResponse HttpClient.request(String method,
String url,
Object opts = {}) async;
Paràmetres de trucada:
- method: Cadena, especifiqueuhttpMètode de sol·licitud: 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 the response.body stream
}
Entre ells el cos,json, el 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
2HttpResponse HttpClient.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,json, el 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
1HttpResponse HttpClient.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,json, el 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
2HttpResponse HttpClient.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,json, el 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
2HttpResponse HttpClient.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,json, el 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
2HttpResponse HttpClient.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,json, el 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
2HttpResponse HttpClient.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,json, el 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
2HttpResponse HttpClient.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,json, el 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("PATCH", ...)
1
2HttpResponse HttpClient.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,json, el paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, que no conté cap informació addicional
toString
Retorna la representació de cadena de l'objecte. En general, es retorna "[Objecte natiu]". L'objecte es pot tornar a implementar segons les seves pròpies característiques.
1String HttpClient.toString();
Resultats de retorn:
- String, retorna la representació de cadena de l'objecte
toJSON
Retorna una representació en format JSON de l'objecte, generalment retornant una col·lecció de propietats llegibles definides per l'objecte.
1Value HttpClient.toJSON(String key = "");
Paràmetres de trucada:
- key: Corda, no utilitzada
Resultats de retorn:
- Value, retorna un valor que conté JSON serializable