Objecte objecte incorporat

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 5
const 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 5
const 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 11
const 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

1
new HttpClient();

propietats dels membres

cookies

NArray, tornahttpclientHttpCookiellista d'objectes

1
readonly NArray HttpClient.cookies;

timeout

Enter, consultar i establir la unitat de temps d'espera mil·lisegons

1
Integer HttpClient.timeout;

enableCookie

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

1
Boolean HttpClient.enableCookie;

autoRedirect

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

1
Boolean HttpClient.autoRedirect;

enableEncoding

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

1
Boolean HttpClient.enableEncoding;

maxHeadersCount

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

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

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

1
Integer HttpClient.maxBodySize;

userAgent

Cadena, consulta i conjunthttpL'identificador del navegador a la sol·licitud

1
String HttpClient.userAgent;

poolSize

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

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

1
Integer HttpClient.poolTimeout;

http_proxy

Cadena, consulta i conjunthttpSol·licitar agent, suporthttp/https/proxy socks5

1
String 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.

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

1
Integer HttpClient.sslVerification;

funció de membre

setClientCert

Estableix el certificat de client predeterminat

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

Paràmetres de trucada:

Resultats de retorn:


enviarhttpSol·liciteu l'objecte de flux especificat i retorneu el resultat

1 2 3
HttpResponse HttpClient.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
HttpResponse 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:

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

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

1
HttpResponse HttpClient.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,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 2
HttpResponse 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:

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

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

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

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

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


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

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

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.

1
String 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.

1
Value HttpClient.toJSON(String key = "");

Paràmetres de trucada:

  • key: Corda, no utilitzada

Resultats de retorn:

  • Value, retorna un valor que conté JSON serializable