Objeto incorporado

ObjetoHttpClient

HttpClient es una biblioteca de clases diseñada para funciones de cliente HTTP, que proporciona solicitudes HTTP/HTTPS básicas, acceso proxy, administración de cookies y otras funciones.

Puede acceder y operar páginas web fácilmente usando HttpClient. Aquí hay un ejemplo simple: imprimir el código fuente 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 este ejemplo, introducido a través de requirehttpmódulo y luego usarhttp.getIniciar una solicitud de obtención, dondeurlEl parámetro especifica la URL solicitada. porquehttp.getEl método devuelve unHttpResponseObjeto, para que pueda acceder al contenido del cuerpo devuelto por la solicitud a través de su propiedad del cuerpo y convertirlo en una cadena a través del método toString.

cuando se solicitaurlEs tipo https en lugar dehttptipo, el código sólo necesita cambiarhttpSimplemente cámbielo 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());

Además, hay ejemplos de cómo iniciar directamente solicitudes POST y 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());

En este ejemplo, primero se crea un objeto HttpClient httpClient y su userAgent se establece en el User-Agent del navegador. Luego inicie una solicitud de publicación a través de su método de publicación, en el que los parámetros nombre y versión especifican el contenido principal de la solicitud. Finalmente, se genera el contenido principal del valor de retorno.

relación de herencia

Constructor

HttpClient

Constructor HttpClient, crea un nuevo objeto HttpClient

1
new HttpClient();

propiedades de miembros

cookies

NArray, regresarhttpclienteHttpCookielista de objetos

1
readonly NArray HttpClient.cookies;

timeout

Entero, consulta y configuración de unidades de tiempo de espera en milisegundos

1
Integer HttpClient.timeout;

enableCookie

Booleano, cambio de función de cookies, habilitado de forma predeterminada

1
Boolean HttpClient.enableCookie;

autoRedirect

Booleano, cambio de función de redireccionamiento automático, habilitado de forma predeterminada

1
Boolean HttpClient.autoRedirect;

enableEncoding

Booleano, interruptor de función de descompresión automática, habilitado de forma predeterminada

1
Boolean HttpClient.enableEncoding;

maxHeadersCount

Entero, consulta y establece el número máximo de encabezados de solicitud, el valor predeterminado es 128

1
Integer HttpClient.maxHeadersCount;

maxHeaderSize

Entero, consulta y establece la longitud máxima del encabezado de solicitud, el valor predeterminado es 8192

1
Integer HttpClient.maxHeaderSize;

maxBodySize

Entero, consulta y establece el tamaño máximo del cuerpo, en MB, el valor predeterminado es -1, sin límite de tamaño

1
Integer HttpClient.maxBodySize;

userAgent

Cadena, consulta y configuración.httpEl identificador del navegador en la solicitud.

1
String HttpClient.userAgent;

poolSize

Entero, consulta y establece el número máximo de conexiones de caché keep-alive, predeterminado 128

1
Integer HttpClient.poolSize;

poolTimeout

Entero, consulta y establece el tiempo de espera de la conexión de caché de mantenimiento, predeterminado 10000 ms

1
Integer HttpClient.poolTimeout;

http_proxy

Cadena, consulta y configuración.httpSolicitar agente, soportehttp/https/socks5 proxy

1
String HttpClient.http_proxy;

https_proxy

Cadena, consulta y configuración de proxy de solicitud https, soportehttp/https/socks5 proxy, si no está configurado o está vacío, se reutilizará http_proxy.

1
String HttpClient.https_proxy;

sslVerification

Entero, consulta y configura el modo de verificación del certificado al conectarse a https, referenciasslVERIFY_* constantes del módulo, el valor predeterminado esssl.verification

1
Integer HttpClient.sslVerification;

función miembro

setClientCert

Establecer certificado de cliente predeterminado

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

Parámetros de llamada:

  • crt:X509Cert, certificado, utilizado para enviar al servidor para verificar al cliente
  • key:PKey, clave privada, utilizada para hablar con el cliente.

request

enviarhttpSolicite el objeto de flujo especificado y devuelva el resultado

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

Parámetros de llamada:

Resultados de devolución:


enviarhttpSolicite el objeto de flujo especificado y devuelva el resultado

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

Parámetros de llamada:

Resultados de devolución:


solicitud especificadaurly devolver el resultado

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

Parámetros de llamada:

  • method: Cadena, especifiquehttpMétodo de solicitud: OBTENER, POST, etc.
  • url: Cadena, especifiqueurl, debe ser el host contenedor completourl
  • opts: Objeto, especifique información adicional

Resultados de devolución:

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente 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 ellos cuerpo,json, el paquete no debe aparecer al mismo tiempo. El valor predeterminado es {}, que no contiene ninguna información adicional.


Utilice el método GET para solicitar lo especificadourly devuelve el resultado, que equivale a request("GET", ...)

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

Parámetros de llamada:

  • url: Cadena, especifiqueurl, debe ser el host contenedor completourl
  • opts: Objeto, especifique información adicional

Resultados de devolución:

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente 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 ellos cuerpo,json, el paquete no debe aparecer al mismo tiempo. El valor predeterminado es {}, que no contiene ninguna información adicional.


Opciones de solicitud especificadasurly devolver el resultado

1
HttpResponse HttpClient.request(Object opts) async;

Parámetros de llamada:

  • opts: Objeto, especifique información adicional

Resultados de devolución:

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente 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 ellos cuerpo,json, el paquete no debe aparecer al mismo tiempo. El valor predeterminado es {}, que no contiene ninguna información adicional.


get

Utilice el método GET para solicitar lo especificadourly devuelve el resultado, que equivale a request("GET", ...)

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

Parámetros de llamada:

  • url: Cadena, especifiqueurl, debe ser el host contenedor completourl
  • opts: Objeto, especifique información adicional

Resultados de devolución:

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente 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 ellos cuerpo,json, el paquete no debe aparecer al mismo tiempo. El valor predeterminado es {}, que no contiene ninguna información adicional.


post

Utilice el método POST para solicitar lo especificadourly devuelve el resultado, que equivale a request("POST", ...)

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

Parámetros de llamada:

  • url: Cadena, especifiqueurl, debe ser el host contenedor completourl
  • opts: Objeto, especifique información adicional

Resultados de devolución:

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente 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 ellos cuerpo,json, el paquete no debe aparecer al mismo tiempo. El valor predeterminado es {}, que no contiene ninguna información adicional.


del

Utilice el método DELETE para solicitar lo especificado.urly devuelve el resultado, que equivale a request("DELETE", ...)

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

Parámetros de llamada:

  • url: Cadena, especifiqueurl, debe ser el host contenedor completourl
  • opts: Objeto, especifique información adicional

Resultados de devolución:

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente 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 ellos cuerpo,json, el paquete no debe aparecer al mismo tiempo. El valor predeterminado es {}, que no contiene ninguna información adicional.


put

Utilice el método PUT para solicitar lo especificado.urly devuelve el resultado, que equivale a request("PUT", ...)

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

Parámetros de llamada:

  • url: Cadena, especifiqueurl, debe ser el host contenedor completourl
  • opts: Objeto, especifique información adicional

Resultados de devolución:

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente 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 ellos cuerpo,json, el paquete no debe aparecer al mismo tiempo. El valor predeterminado es {}, que no contiene ninguna información adicional.


patch

Utilice el método PATCH para solicitar lo especificadourly devuelve el resultado, que es equivalente a request("PATCH", ...)

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

Parámetros de llamada:

  • url: Cadena, especifiqueurl, debe ser el host contenedor completourl
  • opts: Objeto, especifique información adicional

Resultados de devolución:

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente 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 ellos cuerpo,json, el paquete no debe aparecer al mismo tiempo. El valor predeterminado es {}, que no contiene ninguna información adicional.


Utilice el método HEAD para solicitar lo especificadourly devuelve el resultado, que es equivalente a request("PATCH", ...)

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

Parámetros de llamada:

  • url: Cadena, especifiqueurl, debe ser el host contenedor completourl
  • opts: Objeto, especifique información adicional

Resultados de devolución:

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente 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 ellos cuerpo,json, el paquete no debe aparecer al mismo tiempo. El valor predeterminado es {}, que no contiene ninguna información adicional.


toString

Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.

1
String HttpClient.toString();

Resultados de devolución:

  • String, devuelve la representación de cadena del objeto

toJSON

Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.

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

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable