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
5const 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
5const 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
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());
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
1new HttpClient();
proprietà dei membri
cookies
NVai, ritornahttpclienteHttpCookieelenco oggetti
1readonly NArray HttpClient.cookies;
timeout
Intero, interroga e imposta l'unità di timeout in millisecondi
1Integer HttpClient.timeout;
enableCookie
Booleano, interruttore funzione cookie, abilitato per impostazione predefinita
1Boolean HttpClient.enableCookie;
autoRedirect
Commutazione della funzione booleana di reindirizzamento automatico, abilitata per impostazione predefinita
1Boolean HttpClient.autoRedirect;
enableEncoding
Interruttore booleano della funzione di decompressione automatica, abilitato per impostazione predefinita
1Boolean HttpClient.enableEncoding;
maxHeadersCount
Intero, interroga e imposta il numero massimo di intestazioni di richiesta, il valore predefinito è 128
1Integer HttpClient.maxHeadersCount;
maxHeaderSize
Intero, interroga e imposta la lunghezza massima dell'intestazione della richiesta, il valore predefinito è 8192
1Integer HttpClient.maxHeaderSize;
maxBodySize
Intero, interroga e imposta la dimensione massima del corpo, in MB, il valore predefinito è -1, nessun limite di dimensione
1Integer HttpClient.maxBodySize;
userAgent
Stringa, interroga e impostahttpL'identificatore del browser nella richiesta
1String HttpClient.userAgent;
poolSize
Intero, interroga e imposta il numero massimo di connessioni cache keep-alive, predefinito 128
1Integer HttpClient.poolSize;
poolTimeout
Intero, interroga e imposta il timeout della connessione della cache keep-alive, predefinito 10000 ms
1Integer HttpClient.poolTimeout;
http_proxy
Stringa, interroga e impostahttpRichiedi agente, supportohttp/https/socks5proxy
1String 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.
1String 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
1Integer HttpClient.sslVerification;
funzione membro
setClientCert
Imposta il certificato client predefinito
1
2HttpClient.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
2HttpResponse HttpClient.request(Stream conn,
HttpRequest req) async;
Parametri di chiamata:
- conn:Stream, specifica l'oggetto flusso per gestire la richiesta
- req:HttpRequest, da inviareHttpRequestoggetto
Risultati restituiti:
- HttpResponse, restituisce la risposta del server
InviarehttpRichiede l'oggetto flusso specificato e restituisce il risultato
1
2
3HttpResponse HttpClient.request(Stream conn,
HttpRequest req,
SeekableStream response_body) async;
Parametri di chiamata:
- conn:Stream, specifica l'oggetto flusso per gestire la richiesta
- req:HttpRequest, da inviareHttpRequestoggetto
- response_body:SeekableStream, specificare il flusso di risposta.body
Risultati restituiti:
- HttpResponse, restituisce la risposta del server
richiesta specificataurle restituire il risultato
1
2
3HttpResponse 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:
- HttpResponse, restituisce la risposta del server
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
2HttpResponse 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:
- HttpResponse, restituisce la risposta del server
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
1HttpResponse HttpClient.request(Object opts) async;
Parametri di chiamata:
- opts: Oggetto, specificare informazioni aggiuntive
Risultati restituiti:
- HttpResponse, restituisce la risposta del server
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
2HttpResponse 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:
- HttpResponse, restituisce la risposta del server
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
2HttpResponse 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:
- HttpResponse, restituisce la risposta del server
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
2HttpResponse 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:
- HttpResponse, restituisce la risposta del server
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
2HttpResponse 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:
- HttpResponse, restituisce la risposta del server
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
2HttpResponse 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:
- HttpResponse, restituisce la risposta del server
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
head
Utilizzare il metodo HEAD per richiedere quanto specificatourle restituisce il risultato, che equivale a request("PATCH", ...)
1
2HttpResponse 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:
- HttpResponse, restituisce la risposta del server
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.
1String 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.
1Value HttpClient.toJSON(String key = "");
Parametri di chiamata:
- key: Stringa, non utilizzata
Risultati restituiti:
- Value, restituisce un valore contenente JSON serializzabile