Obxecto obxecto incorporado

ObjectHttpClient

HttpClient é unha biblioteca de clases deseñada para funcións de cliente HTTP, que ofrece solicitudes básicas HTTP/HTTPS, acceso ao proxy, xestión de cookies e outras funcións.

Podes acceder e operar páxinas web facilmente usando HttpClient. Aquí tes un exemplo sinxelo: imprimir o código fonte nunha páxina web:

1 2 3 4 5
const http = require('http'); const res = http.get('http://www.example.com/'); console.log(res.body.readAll().toString());

Neste exemplo, introducido a través de requirehttpmódulo e despois usehttp.getIniciar unha solicitude de obtención, ondeurlO parámetro especifica o URL solicitado. porquehttp.getO método devolve aHttpResponseObxecto, para que poida acceder ao contido do corpo devolto pola solicitude a través da súa propiedade body e convertelo nunha cadea a través do método toString.

cando se soliciteurlÉ tipo https en lugar dehttptipo, o código só ten que cambiarhttpSó cambialo 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());

Ademais, hai exemplos de iniciar directamente solicitudes POST e configurar User-Agent a través de 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());

Neste exemplo, primeiro créase un obxecto HttpClient httpClient e o seu userAgent establécese como User-Agent do navegador. A continuación, inicie unha solicitude de publicación a través do seu método de publicación, no que os parámetros nome e versión especifican o contido principal da solicitude. Finalmente, sae o contido principal do valor de retorno.

relación de herdanza

Construtor

HttpClient

Construtor HttpClient, crea un novo obxecto HttpClient

1
new HttpClient();

propiedades dos membros

cookies

NArray, regresahttpclientaHttpCookielista de obxectos

1
readonly NArray HttpClient.cookies;

timeout

Unidade de tempo de espera enteiro, consulta e establece milisegundos

1
Integer HttpClient.timeout;

enableCookie

Booleano, conmutador de función de cookie, activado por defecto

1
Boolean HttpClient.enableCookie;

autoRedirect

Booleano, cambio de función de redirección automática, activado de forma predeterminada

1
Boolean HttpClient.autoRedirect;

enableEncoding

Booleano, interruptor de función de descompresión automática, activado por defecto

1
Boolean HttpClient.enableEncoding;

maxHeadersCount

Número enteiro, consulta e establece o número máximo de cabeceiras de solicitude, o valor predeterminado é 128

1
Integer HttpClient.maxHeadersCount;

maxHeaderSize

Número enteiro, consulta e establece a lonxitude máxima da cabeceira da solicitude, o valor predeterminado é 8192

1
Integer HttpClient.maxHeaderSize;

maxBodySize

Enteiro, consulta e establece o tamaño máximo do corpo, en MB, o valor predeterminado é -1, sen límite de tamaño

1
Integer HttpClient.maxBodySize;

userAgent

Cadena, consulta e conxuntohttpO identificador do navegador na solicitude

1
String HttpClient.userAgent;

poolSize

Número enteiro, consulta e establece o número máximo de conexións de caché de mantemento activo, por defecto 128

1
Integer HttpClient.poolSize;

poolTimeout

Número enteiro, consulta e establece o tempo de espera da conexión da caché de mantemento, por defecto 10000 ms

1
Integer HttpClient.poolTimeout;

http_proxy

Cadena, consulta e conxuntohttpSolicitar axente, apoiohttp/https/socks5 proxy

1
String HttpClient.http_proxy;

https_proxy

Cadena, consulta e establece un proxy de solicitude https, soportehttp/https/socks5 proxy, se non está definido ou está baleiro, reutilizarase http_proxy.

1
String HttpClient.https_proxy;

sslVerification

Enteiro, consulta e establece o modo de verificación do certificado ao conectarse a https, referenciasslVERIFY_* constantes do módulo, o valor predeterminado éssl.verification

1
Integer HttpClient.sslVerification;

función de membro

setClientCert

Establecer o certificado de cliente predeterminado

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

Parámetros de chamada:

  • crt:X509Cert, certificado, usado para enviar ao servidor para verificar o cliente
  • key:PKey, clave privada, usada para falar co cliente

request

enviarhttpSolicita o obxecto de fluxo especificado e devolve o resultado

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

Parámetros de chamada:

Resultados de devolución:


enviarhttpSolicita o obxecto de fluxo especificado e devolve o resultado

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

Parámetros de chamada:

Resultados de devolución:


solicitude especificadaurl, e devolve o resultado

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

Parámetros de chamada:

  • method: Cadena, especifiquehttpMétodo de solicitude: GET, POST, etc.
  • url: Cadena, especifiqueurl, debe ser o host completo que conténurl
  • opts: Obxecto, especifique información adicional

Resultados de devolución:

opts contén opcións adicionais para a solicitude, admitidas como segue:

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 eles o corpo,json, o paquete non debe aparecer ao mesmo tempo. O valor predeterminado é {}, que non contén ningunha información adicional


Use o método GET para solicitar o especificadourl, e devolve o resultado, que é equivalente a request("GET", ...)

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

Parámetros de chamada:

  • url: Cadena, especifiqueurl, debe ser o host completo que conténurl
  • opts: Obxecto, especifique información adicional

Resultados de devolución:

opts contén opcións adicionais para a solicitude, admitidas como segue:

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 eles o corpo,json, o paquete non debe aparecer ao mesmo tempo. O valor predeterminado é {}, que non contén ningunha información adicional


Opcións de solicitude especificadasurl, e devolve o resultado

1
HttpResponse HttpClient.request(Object opts) async;

Parámetros de chamada:

  • opts: Obxecto, especifique información adicional

Resultados de devolución:

opts contén opcións adicionais para a solicitude, admitidas como segue:

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 eles o corpo,json, o paquete non debe aparecer ao mesmo tempo. O valor predeterminado é {}, que non contén ningunha información adicional


get

Use o método GET para solicitar o especificadourl, e devolve o resultado, que é equivalente a request("GET", ...)

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

Parámetros de chamada:

  • url: Cadena, especifiqueurl, debe ser o host completo que conténurl
  • opts: Obxecto, especifique información adicional

Resultados de devolución:

opts contén opcións adicionais para a solicitude, admitidas como segue:

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 eles o corpo,json, o paquete non debe aparecer ao mesmo tempo. O valor predeterminado é {}, que non contén ningunha información adicional


post

Use o método POST para solicitar o especificadourl, e devolve o resultado, que é equivalente a request("POST", ...)

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

Parámetros de chamada:

  • url: Cadena, especifiqueurl, debe ser o host completo que conténurl
  • opts: Obxecto, especifique información adicional

Resultados de devolución:

opts contén opcións adicionais para a solicitude, admitidas como segue:

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 eles o corpo,json, o paquete non debe aparecer ao mesmo tempo. O valor predeterminado é {}, que non contén ningunha información adicional


del

Use o método DELETE para solicitar o especificadourl, e devolve o resultado, que é equivalente a request("DELETE", ...)

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

Parámetros de chamada:

  • url: Cadena, especifiqueurl, debe ser o host completo que conténurl
  • opts: Obxecto, especifique información adicional

Resultados de devolución:

opts contén opcións adicionais para a solicitude, admitidas como segue:

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 eles o corpo,json, o paquete non debe aparecer ao mesmo tempo. O valor predeterminado é {}, que non contén ningunha información adicional


put

Use o método PUT para solicitar o especificadourl, e devolve o resultado, que é equivalente a request("PUT", ...)

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

Parámetros de chamada:

  • url: Cadena, especifiqueurl, debe ser o host completo que conténurl
  • opts: Obxecto, especifique información adicional

Resultados de devolución:

opts contén opcións adicionais para a solicitude, admitidas como segue:

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 eles o corpo,json, o paquete non debe aparecer ao mesmo tempo. O valor predeterminado é {}, que non contén ningunha información adicional


patch

Use o método PATCH para solicitar o especificadourl, e devolve o resultado, que é equivalente a request("PATCH", ...)

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

Parámetros de chamada:

  • url: Cadena, especifiqueurl, debe ser o host completo que conténurl
  • opts: Obxecto, especifique información adicional

Resultados de devolución:

opts contén opcións adicionais para a solicitude, admitidas como segue:

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 eles o corpo,json, o paquete non debe aparecer ao mesmo tempo. O valor predeterminado é {}, que non contén ningunha información adicional


Use o método HEAD para solicitar o especificadourl, e devolve o resultado, que é equivalente a request("PATCH", ...)

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

Parámetros de chamada:

  • url: Cadena, especifiqueurl, debe ser o host completo que conténurl
  • opts: Obxecto, especifique información adicional

Resultados de devolución:

opts contén opcións adicionais para a solicitude, admitidas como segue:

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 eles o corpo,json, o paquete non debe aparecer ao mesmo tempo. O valor predeterminado é {}, que non contén ningunha información adicional


toString

Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.

1
String HttpClient.toString();

Resultados de devolución:

  • String, devolve a representación en cadea do obxecto

toJSON

Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

  • Value, devolve un valor que contén JSON serializable