Oggetto oggetto incorporato

ObjectHttpClient

HttpClient è una libreria di classi progettata per funzioni client HTTP, che fornisce richieste HTTP/HTTPS di base, accesso proxy, gestione dei cookie e altre funzioni

Puoi accedere e gestire facilmente le pagine Web utilizzando HttpClient. Ecco un semplice esempio: stampare il codice sorgente su una pagina Web:

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

In questo esempio, introdotto tramite requirehttpmodulo e quindi utilizzarlohttp.getAvviare una richiesta di acquisizione, doveurlIl parametro specifica l'URL richiesto. Perchéhttp.getIl metodo restituisce aHttpResponseObject, quindi è possibile accedere al contenuto del corpo restituito dalla richiesta tramite la sua proprietà body e convertirlo in una stringa tramite il metodo toString.

quando richiestourlÈ di tipo https invece dihttptipo, è sufficiente modificare solo il codicehttpBasta cambiarlo in https:

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

Inoltre, ci sono esempi di avvio diretto di richieste POST e impostazione di User-Agent tramite 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());

In questo esempio, viene prima creato un oggetto HttpClient httpClient e il relativo userAgent è impostato sullo User-Agent del browser. Quindi avvia una richiesta post tramite il suo metodo post, in cui i parametri nome e versione specificano il contenuto principale della richiesta. Infine, viene emesso il contenuto principale del valore restituito.

rapporto ereditario

Costruttore

HttpClient

Costruttore HttpClient, crea un nuovo oggetto HttpClient

1
new HttpClient();

proprietà dei membri

cookies

NVai, ritornahttpclienteHttpCookieelenco oggetti

1
readonly NArray HttpClient.cookies;

timeout

Intero, interroga e imposta l'unità di timeout in millisecondi

1
Integer HttpClient.timeout;

enableCookie

Booleano, interruttore funzione cookie, abilitato per impostazione predefinita

1
Boolean HttpClient.enableCookie;

autoRedirect

Commutazione della funzione booleana di reindirizzamento automatico, abilitata per impostazione predefinita

1
Boolean HttpClient.autoRedirect;

enableEncoding

Interruttore booleano della funzione di decompressione automatica, abilitato per impostazione predefinita

1
Boolean HttpClient.enableEncoding;

maxHeadersCount

Intero, interroga e imposta il numero massimo di intestazioni di richiesta, il valore predefinito è 128

1
Integer HttpClient.maxHeadersCount;

maxHeaderSize

Intero, interroga e imposta la lunghezza massima dell'intestazione della richiesta, il valore predefinito è 8192

1
Integer HttpClient.maxHeaderSize;

maxBodySize

Intero, interroga e imposta la dimensione massima del corpo, in MB, il valore predefinito è -1, nessun limite di dimensione

1
Integer HttpClient.maxBodySize;

userAgent

Stringa, interroga e impostahttpL'identificatore del browser nella richiesta

1
String HttpClient.userAgent;

poolSize

Intero, interroga e imposta il numero massimo di connessioni cache keep-alive, predefinito 128

1
Integer HttpClient.poolSize;

poolTimeout

Intero, interroga e imposta il timeout della connessione della cache keep-alive, predefinito 10000 ms

1
Integer HttpClient.poolTimeout;

http_proxy

Stringa, interroga e impostahttpRichiedi agente, supportohttp/https/socks5proxy

1
String HttpClient.http_proxy;

https_proxy

Stringa, interroga e imposta proxy di richiesta https, supportohttp/https/socks5 proxy, se non impostato o impostato su vuoto, verrà riutilizzato http_proxy.

1
String HttpClient.https_proxy;

sslVerification

Numero intero, interroga e imposta la modalità di verifica del certificato durante la connessione a https, riferimentosslVERIFY_* costanti del modulo, il valore predefinito èssl.verification

1
Integer HttpClient.sslVerification;

funzione membro

setClientCert

Imposta il certificato client predefinito

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

Parametri di chiamata:

  • crt:X509Cert, certificato, utilizzato per inviare al server per verificare il client
  • key:PKey, chiave privata, utilizzata per parlare con il client

request

InviarehttpRichiede l'oggetto flusso specificato e restituisce il risultato

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

Parametri di chiamata:

Risultati restituiti:


InviarehttpRichiede l'oggetto flusso specificato e restituisce il risultato

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

Parametri di chiamata:

Risultati restituiti:


richiesta specificataurle restituire il risultato

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

Parametri di chiamata:

  • method: Stringa, specificarehttpMetodo di richiesta: GET, POST, ecc.
  • url: Stringa, specificareurl, deve essere l'host contenente completourl
  • opts: Oggetto, specificare informazioni aggiuntive

Risultati restituiti:

opts contiene opzioni aggiuntive per la richiesta, supportate come 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 }

Tra loro il corpo,json, il pacchetto non deve apparire contemporaneamente. Il valore predefinito è {}, che non contiene informazioni aggiuntive


Utilizzare il metodo GET per richiedere quanto specificatourl, e restituisce il risultato, che equivale a request("GET", ...)

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

Parametri di chiamata:

  • url: Stringa, specificareurl, deve essere l'host contenente completourl
  • opts: Oggetto, specificare informazioni aggiuntive

Risultati restituiti:

opts contiene opzioni aggiuntive per la richiesta, supportate come 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": {} }

Tra loro il corpo,json, il pacchetto non deve apparire contemporaneamente. Il valore predefinito è {}, che non contiene informazioni aggiuntive


Richiedi opzioni specificateurle restituire il risultato

1
HttpResponse HttpClient.request(Object opts) async;

Parametri di chiamata:

  • opts: Oggetto, specificare informazioni aggiuntive

Risultati restituiti:

opts contiene opzioni aggiuntive per la richiesta, supportate come 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": {} }

Tra loro il corpo,json, il pacchetto non deve apparire contemporaneamente. Il valore predefinito è {}, che non contiene informazioni aggiuntive


get

Utilizzare il metodo GET per richiedere quanto specificatourl, e restituisce il risultato, che equivale a request("GET", ...)

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

Parametri di chiamata:

  • url: Stringa, specificareurl, deve essere l'host contenente completourl
  • opts: Oggetto, specificare informazioni aggiuntive

Risultati restituiti:

opts contiene opzioni aggiuntive per la richiesta, supportate come 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": {} }

Tra loro il corpo,json, il pacchetto non deve apparire contemporaneamente. Il valore predefinito è {}, che non contiene informazioni aggiuntive


post

Utilizzare il metodo POST per richiedere quanto specificatourle restituisce il risultato, che equivale a request("POST", ...)

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

Parametri di chiamata:

  • url: Stringa, specificareurl, deve essere l'host contenente completourl
  • opts: Oggetto, specificare informazioni aggiuntive

Risultati restituiti:

opts contiene opzioni aggiuntive per la richiesta, supportate come 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": {} }

Tra loro il corpo,json, il pacchetto non deve apparire contemporaneamente. Il valore predefinito è {}, che non contiene informazioni aggiuntive


del

Utilizzare il metodo DELETE per richiedere quanto specificatourl, e restituisce il risultato, che equivale a request("DELETE", ...)

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

Parametri di chiamata:

  • url: Stringa, specificareurl, deve essere l'host contenente completourl
  • opts: Oggetto, specificare informazioni aggiuntive

Risultati restituiti:

opts contiene opzioni aggiuntive per la richiesta, supportate come 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": {} }

Tra loro il corpo,json, il pacchetto non deve apparire contemporaneamente. Il valore predefinito è {}, che non contiene informazioni aggiuntive


put

Utilizzare il metodo PUT per richiedere quanto specificatourle restituisce il risultato, che equivale a request("PUT", ...)

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

Parametri di chiamata:

  • url: Stringa, specificareurl, deve essere l'host contenente completourl
  • opts: Oggetto, specificare informazioni aggiuntive

Risultati restituiti:

opts contiene opzioni aggiuntive per la richiesta, supportate come 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": {} }

Tra loro il corpo,json, il pacchetto non deve apparire contemporaneamente. Il valore predefinito è {}, che non contiene informazioni aggiuntive


patch

Utilizzare il metodo PATCH per richiedere quanto specificatourle restituisce il risultato, che equivale a request("PATCH", ...)

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

Parametri di chiamata:

  • url: Stringa, specificareurl, deve essere l'host contenente completourl
  • opts: Oggetto, specificare informazioni aggiuntive

Risultati restituiti:

opts contiene opzioni aggiuntive per la richiesta, supportate come 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": {} }

Tra loro il corpo,json, il pacchetto non deve apparire contemporaneamente. Il valore predefinito è {}, che non contiene informazioni aggiuntive


Utilizzare il metodo HEAD per richiedere quanto specificatourle restituisce il risultato, che equivale a request("PATCH", ...)

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

Parametri di chiamata:

  • url: Stringa, specificareurl, deve essere l'host contenente completourl
  • opts: Oggetto, specificare informazioni aggiuntive

Risultati restituiti:

opts contiene opzioni aggiuntive per la richiesta, supportate come 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": {} }

Tra loro il corpo,json, il pacchetto non deve apparire contemporaneamente. Il valore predefinito è {}, che non contiene informazioni aggiuntive


toString

Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.

1
String HttpClient.toString();

Risultati restituiti:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile