ObjetHttpClient
HttpClient est une bibliothèque de classes conçue pour les fonctions client HTTP, fournissant des requêtes HTTP/HTTPS de base, un accès proxy, une gestion des cookies et d'autres fonctions.
Vous pouvez facilement accéder et utiliser des pages Web à l'aide de HttpClient. Voici un exemple simple : imprimer le code source sur une page Web :
1
2
3
4
5const http = require('http');
const res = http.get('http://www.example.com/');
console.log(res.body.readAll().toString());
Dans cet exemple, introduit via requirehttpmodule puis utilisezhttp.getLancez une requête get, oùurlLe paramètre spécifie l'URL demandée. parce quehttp.getLa méthode renvoie unHttpResponseObjet, afin que vous puissiez accéder au contenu du corps renvoyé par la requête via sa propriété body et le convertir en chaîne via la méthode toString.
sur demandeurlC'est du type https au lieu dehttptapez, le code n'a qu'à changerhttpChangez-le simplement en https :
1
2
3
4
5const http = require('http');
const res = http.get('https://www.example.com/');
console.log(res.body.readAll().toString());
De plus, il existe des exemples de lancement direct de requêtes POST et de configuration de User-Agent via 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());
Dans cet exemple, un objet HttpClient httpClient est d'abord créé et son userAgent est défini sur l'agent utilisateur du navigateur. Lancez ensuite une demande de publication via sa méthode post, dans laquelle les paramètres nom et version précisent le contenu principal de la demande. Enfin, le contenu principal de la valeur de retour est affiché.
relation d'héritage
Constructeur
HttpClient
Constructeur HttpClient, crée un nouvel objet HttpClient
1new HttpClient();
propriétés des membres
cookies
NArray, retourhttpclientHttpCookieliste d'objets
1readonly NArray HttpClient.cookies;
timeout
Entier, interroger et définir l'unité de délai d'attente en millisecondes
1Integer HttpClient.timeout;
enableCookie
Booléen, commutateur de fonction cookie, activé par défaut
1Boolean HttpClient.enableCookie;
autoRedirect
Booléen, commutateur de fonction de redirection automatique, activé par défaut
1Boolean HttpClient.autoRedirect;
enableEncoding
Booléen, commutateur de fonction de décompression automatique, activé par défaut
1Boolean HttpClient.enableEncoding;
maxHeadersCount
Entier, interrogez et définissez le nombre maximum d'en-têtes de requête, la valeur par défaut est 128
1Integer HttpClient.maxHeadersCount;
maxHeaderSize
Entier, interrogez et définissez la longueur maximale de l'en-tête de requête, la valeur par défaut est 8192
1Integer HttpClient.maxHeaderSize;
maxBodySize
Entier, interrogez et définissez la taille maximale du corps, en Mo, la valeur par défaut est -1, aucune limite de taille
1Integer HttpClient.maxBodySize;
userAgent
Chaîne, requête et ensemblehttpL'identifiant du navigateur dans la requête
1String HttpClient.userAgent;
poolSize
Nombre entier, interrogez et définissez le nombre maximum de connexions de cache persistantes, par défaut 128
1Integer HttpClient.poolSize;
poolTimeout
Nombre entier, interrogez et définissez le délai d'expiration de la connexion au cache keep-alive, par défaut 10 000 ms
1Integer HttpClient.poolTimeout;
http_proxy
Chaîne, requête et ensemblehttpAgent de demande, supporthttp/https/socks5 proxy
1String HttpClient.http_proxy;
https_proxy
Chaîne, requête et définition du proxy de requête https, prise en chargehttp/https/socks5 proxy, s'il n'est pas défini ou est vide, http_proxy sera réutilisé.
1String HttpClient.https_proxy;
sslVerification
Entier, interroger et définir le mode de vérification du certificat lors de la connexion à https, référencesslVERIFY_* constantes du module, la valeur par défaut estssl.verification
1Integer HttpClient.sslVerification;
fonction membre
setClientCert
Définir le certificat client par défaut
1
2HttpClient.setClientCert(X509Cert crt,
PKey key);
Paramètres d'appel :
- crt:X509Cert, certificat, utilisé pour envoyer au serveur pour vérifier le client
- key:PKey, clé privée, utilisée pour parler au client
request
envoyerhttpDemander l'objet de flux spécifié et renvoyer le résultat
1
2HttpResponse HttpClient.request(Stream conn,
HttpRequest req) async;
Paramètres d'appel :
- conn:Stream, spécifie l'objet flux pour gérer la requête
- req:HttpRequest, être envoyéHttpRequestobjet
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
envoyerhttpDemander l'objet de flux spécifié et renvoyer le résultat
1
2
3HttpResponse HttpClient.request(Stream conn,
HttpRequest req,
SeekableStream response_body) async;
Paramètres d'appel :
- conn:Stream, spécifie l'objet flux pour gérer la requête
- req:HttpRequest, être envoyéHttpRequestobjet
- response_body:SeekableStream, spécifiez le flux de réponse.body
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
demande spécifiéeurl, et renvoie le résultat
1
2
3HttpResponse HttpClient.request(String method,
String url,
Object opts = {}) async;
Paramètres d'appel :
- method: Chaîne, précisezhttpMéthode de requête : GET, POST, etc.
- url: Chaîne, précisezurl, doit être l'hôte contenant completurl
- opts: Objet, spécifiez des informations supplémentaires
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
opts contient des options supplémentaires pour la demande, prises en charge comme suit :
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
}
Parmi eux le corps,json, le pack ne doit pas apparaître en même temps. La valeur par défaut est {}, qui ne contient aucune information supplémentaire
Utilisez la méthode GET pour demander le spécifiéurl, et renvoie le résultat, qui équivaut à request("GET", ...)
1
2HttpResponse HttpClient.request(String url,
Object opts = {}) async;
Paramètres d'appel :
- url: Chaîne, précisezurl, doit être l'hôte contenant completurl
- opts: Objet, spécifiez des informations supplémentaires
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
opts contient des options supplémentaires pour la demande, prises en charge comme suit :
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": {}
}
Parmi eux le corps,json, le pack ne doit pas apparaître en même temps. La valeur par défaut est {}, qui ne contient aucune information supplémentaire
Options de demande spécifiéesurl, et renvoie le résultat
1HttpResponse HttpClient.request(Object opts) async;
Paramètres d'appel :
- opts: Objet, spécifiez des informations supplémentaires
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
opts contient des options supplémentaires pour la demande, prises en charge comme suit :
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": {}
}
Parmi eux le corps,json, le pack ne doit pas apparaître en même temps. La valeur par défaut est {}, qui ne contient aucune information supplémentaire
get
Utilisez la méthode GET pour demander le spécifiéurl, et renvoie le résultat, qui équivaut à request("GET", ...)
1
2HttpResponse HttpClient.get(String url,
Object opts = {}) async;
Paramètres d'appel :
- url: Chaîne, précisezurl, doit être l'hôte contenant completurl
- opts: Objet, spécifiez des informations supplémentaires
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
opts contient des options supplémentaires pour la demande, prises en charge comme suit :
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": {}
}
Parmi eux le corps,json, le pack ne doit pas apparaître en même temps. La valeur par défaut est {}, qui ne contient aucune information supplémentaire
post
Utilisez la méthode POST pour demander le spécifiéurl, et renvoie le résultat, qui équivaut à request("POST", ...)
1
2HttpResponse HttpClient.post(String url,
Object opts = {}) async;
Paramètres d'appel :
- url: Chaîne, précisezurl, doit être l'hôte contenant completurl
- opts: Objet, spécifiez des informations supplémentaires
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
opts contient des options supplémentaires pour la demande, prises en charge comme suit :
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": {}
}
Parmi eux le corps,json, le pack ne doit pas apparaître en même temps. La valeur par défaut est {}, qui ne contient aucune information supplémentaire
del
Utilisez la méthode DELETE pour demander le spécifiéurl, et renvoie le résultat, qui équivaut à request("DELETE", ...)
1
2HttpResponse HttpClient.del(String url,
Object opts = {}) async;
Paramètres d'appel :
- url: Chaîne, précisezurl, doit être l'hôte contenant completurl
- opts: Objet, spécifiez des informations supplémentaires
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
opts contient des options supplémentaires pour la demande, prises en charge comme suit :
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": {}
}
Parmi eux le corps,json, le pack ne doit pas apparaître en même temps. La valeur par défaut est {}, qui ne contient aucune information supplémentaire
put
Utilisez la méthode PUT pour demander le spécifiéurl, et renvoie le résultat, qui équivaut à request("PUT", ...)
1
2HttpResponse HttpClient.put(String url,
Object opts = {}) async;
Paramètres d'appel :
- url: Chaîne, précisezurl, doit être l'hôte contenant completurl
- opts: Objet, spécifiez des informations supplémentaires
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
opts contient des options supplémentaires pour la demande, prises en charge comme suit :
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": {}
}
Parmi eux le corps,json, le pack ne doit pas apparaître en même temps. La valeur par défaut est {}, qui ne contient aucune information supplémentaire
patch
Utilisez la méthode PATCH pour demander le spécifiéurl, et renvoie le résultat, qui équivaut à request("PATCH", ...)
1
2HttpResponse HttpClient.patch(String url,
Object opts = {}) async;
Paramètres d'appel :
- url: Chaîne, précisezurl, doit être l'hôte contenant completurl
- opts: Objet, spécifiez des informations supplémentaires
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
opts contient des options supplémentaires pour la demande, prises en charge comme suit :
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": {}
}
Parmi eux le corps,json, le pack ne doit pas apparaître en même temps. La valeur par défaut est {}, qui ne contient aucune information supplémentaire
head
Utilisez la méthode HEAD pour demander le spécifiéurl, et renvoie le résultat, qui équivaut à request("PATCH", ...)
1
2HttpResponse HttpClient.head(String url,
Object opts = {}) async;
Paramètres d'appel :
- url: Chaîne, précisezurl, doit être l'hôte contenant completurl
- opts: Objet, spécifiez des informations supplémentaires
Résultats de retour :
- HttpResponse, renvoie la réponse du serveur
opts contient des options supplémentaires pour la demande, prises en charge comme suit :
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": {}
}
Parmi eux le corps,json, le pack ne doit pas apparaître en même temps. La valeur par défaut est {}, qui ne contient aucune information supplémentaire
toString
Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.
1String HttpClient.toString();
Résultats de retour :
- String, renvoie la représentation sous forme de chaîne de l'objet
toJSON
Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.
1Value HttpClient.toJSON(String key = "");
Paramètres d'appel :
- key: Chaîne, non utilisée
Résultats de retour :
- Value, renvoie une valeur contenant du JSON sérialisable