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.

L'ús de HttpClient pot accedir i manipular fàcilment pàgines web, aquí teniu un exemple senzill: imprimiu el seu 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, importa mitjançant requirehttpmòdul i, a continuació, utilitzeuhttp.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, el codi només ha de posar elhttpNomés has de canviar 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 creeu un objecte HttpClient httpClient i configureu el seu userAgent com a User-Agent del navegador. A continuació, utilitzeu el seu mètode de publicació per iniciar una sol·licitud de publicació, on els paràmetres nom i versió especifiquen el contingut principal de la sol·licitud. Finalment, emet el contingut del cos del valor de retorn.

relació hereditària

Constructor

HttpClient

Constructor HttpClient, creeu un nou objecte HttpClient

1
new HttpClient();

atribut de membre

cookies

NArray, tornahttpdel clientHttpCookiellista d'objectes

1
readonly NArray HttpClient.cookies;

timeout

Nombre enter, consulta i estableix el temps d'espera en mil·lisegons

1
Integer HttpClient.timeout;

enableCookie

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

1
Boolean HttpClient.enableCookie;

autoRedirect

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

1
Boolean HttpClient.autoRedirect;

enableEncoding

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

1
Boolean HttpClient.enableEncoding;

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, consultes i configuracióhttpL'identificador del navegador a la sol·licitud

1
String HttpClient.userAgent;

poolSize

Enter, consulteu i estableixi el nombre màxim de connexions de memòria cau per mantenir-lo, el valor predeterminat és 128

1
Integer HttpClient.poolSize;

poolTimeout

Enter, consulteu i estableixi 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, consultes i configuracióhttpsol·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 s'estableix en buit, reutilitza http_proxy

1
String HttpClient.https_proxy;

sslVerification

Enter, consulteu i configureu el mode de verificació del certificat quan us connecteu a https, consulteusslLes constants VERIFY_* 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, el certificat utilitzat per enviar al servidor per autenticar el client
  • key:PKey, la 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:

resultat 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:

resultat de retorn:


demanat especificarurl, i retorna el resultat

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

Paràmetres de trucada:

  • method: Cadena, especificadahttpMètode de sol·licitud: GET, POST, etc.
  • url: Cadena, especificadaurl, que ha de ser un completurl
  • opts: Objecte, especifica informació addicional

resultat de retorn:

opts conté opcions addicionals per a la sol·licitud, el contingut compatible és el següent:

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 }

on el cos,json, el paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, 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, especificadaurl, que ha de ser un completurl
  • opts: Objecte, especifica informació addicional

resultat de retorn:

opts conté opcions addicionals per a la sol·licitud, el contingut compatible és el següent:

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

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


les opcions de sol·licitud especificadesurl, i retorna el resultat

1
HttpResponse HttpClient.request(Object opts) async;

Paràmetres de trucada:

  • opts: Objecte, especifica informació addicional

resultat de retorn:

opts conté opcions addicionals per a la sol·licitud, el contingut compatible és el següent:

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

on el cos,json, el paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, 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, especificadaurl, que ha de ser un completurl
  • opts: Objecte, especifica informació addicional

resultat de retorn:

opts conté opcions addicionals per a la sol·licitud, el contingut compatible és el següent:

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

on el cos,json, el paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, 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, especificadaurl, que ha de ser un completurl
  • opts: Objecte, especifica informació addicional

resultat de retorn:

opts conté opcions addicionals per a la sol·licitud, el contingut compatible és el següent:

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

on el cos,json, el paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, 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, especificadaurl, que ha de ser un completurl
  • opts: Objecte, especifica informació addicional

resultat de retorn:

opts conté opcions addicionals per a la sol·licitud, el contingut compatible és el següent:

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

on el cos,json, el paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, 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, especificadaurl, que ha de ser un completurl
  • opts: Objecte, especifica informació addicional

resultat de retorn:

opts conté opcions addicionals per a la sol·licitud, el contingut compatible és el següent:

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

on el cos,json, el paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, 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, especificadaurl, que ha de ser un completurl
  • opts: Objecte, especifica informació addicional

resultat de retorn:

opts conté opcions addicionals per a la sol·licitud, el contingut compatible és el següent:

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

on el cos,json, el paquet no ha d'aparèixer al mateix temps. El valor predeterminat és {}, 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, especificadaurl, que ha de ser un completurl
  • opts: Objecte, especifica informació addicional

resultat de retorn:

opts conté opcions addicionals per a la sol·licitud, el contingut compatible és el següent:

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

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


toString

Retorna la representació de cadena de l'objecte, generalment retorna "[Native Object]", l'objecte es pot reimplementar segons les seves pròpies característiques

1
String HttpClient.toString();

resultat de retorn:

  • String, retorna una representació de cadena de l'objecte

toJSON

Retorna la representació en format JSON de l'objecte, generalment retorna una col·lecció de propietats llegibles definides per l'objecte

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

Paràmetres de trucada:

  • key: Corda, no utilitzada

resultat de retorn:

  • Value, que retorna un valor serialitzable per JSON