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
5const 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
5const 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
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());
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
1new HttpClient();
propiedades dos membros
cookies
NArray, regresahttpclientaHttpCookielista de obxectos
1readonly NArray HttpClient.cookies;
timeout
Unidade de tempo de espera enteiro, consulta e establece milisegundos
1Integer HttpClient.timeout;
enableCookie
Booleano, conmutador de función de cookie, activado por defecto
1Boolean HttpClient.enableCookie;
autoRedirect
Booleano, cambio de función de redirección automática, activado de forma predeterminada
1Boolean HttpClient.autoRedirect;
enableEncoding
Booleano, interruptor de función de descompresión automática, activado por defecto
1Boolean HttpClient.enableEncoding;
maxHeadersCount
Número enteiro, consulta e establece o número máximo de cabeceiras de solicitude, o valor predeterminado é 128
1Integer HttpClient.maxHeadersCount;
maxHeaderSize
Número enteiro, consulta e establece a lonxitude máxima da cabeceira da solicitude, o valor predeterminado é 8192
1Integer 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
1Integer HttpClient.maxBodySize;
userAgent
Cadena, consulta e conxuntohttpO identificador do navegador na solicitude
1String 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
1Integer HttpClient.poolSize;
poolTimeout
Número enteiro, consulta e establece o tempo de espera da conexión da caché de mantemento, por defecto 10000 ms
1Integer HttpClient.poolTimeout;
http_proxy
Cadena, consulta e conxuntohttpSolicitar axente, apoiohttp/https/socks5 proxy
1String 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.
1String 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
1Integer HttpClient.sslVerification;
función de membro
setClientCert
Establecer o certificado de cliente predeterminado
1
2HttpClient.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
2HttpResponse HttpClient.request(Stream conn,
HttpRequest req) async;
Parámetros de chamada:
- conn:Stream, especifica o obxecto de fluxo para xestionar a solicitude
- req:HttpRequest, para ser enviadoHttpRequestobxecto
Resultados de devolución:
- HttpResponse, devolve a resposta do servidor
enviarhttpSolicita o obxecto de fluxo especificado e devolve o resultado
1
2
3HttpResponse HttpClient.request(Stream conn,
HttpRequest req,
SeekableStream response_body) async;
Parámetros de chamada:
- conn:Stream, especifica o obxecto de fluxo para xestionar a solicitude
- req:HttpRequest, para ser enviadoHttpRequestobxecto
- response_body:SeekableStream, especifique o fluxo de resposta.body
Resultados de devolución:
- HttpResponse, devolve a resposta do servidor
solicitude especificadaurl, e devolve o resultado
1
2
3HttpResponse 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:
- HttpResponse, devolve a resposta do servidor
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
2HttpResponse 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:
- HttpResponse, devolve a resposta do servidor
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
1HttpResponse HttpClient.request(Object opts) async;
Parámetros de chamada:
- opts: Obxecto, especifique información adicional
Resultados de devolución:
- HttpResponse, devolve a resposta do servidor
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
2HttpResponse 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:
- HttpResponse, devolve a resposta do servidor
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
2HttpResponse 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:
- HttpResponse, devolve a resposta do servidor
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
2HttpResponse 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:
- HttpResponse, devolve a resposta do servidor
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
2HttpResponse 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:
- HttpResponse, devolve a resposta do servidor
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
2HttpResponse 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:
- HttpResponse, devolve a resposta do servidor
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
head
Use o método HEAD para solicitar o especificadourl, e devolve o resultado, que é equivalente a request("PATCH", ...)
1
2HttpResponse 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:
- HttpResponse, devolve a resposta do servidor
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.
1String 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.
1Value 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