Objet objet intégré

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 5
const 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 5
const 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 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());

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

1
new HttpClient();

propriétés des membres

cookies

NArray, retourhttpclientHttpCookieliste d'objets

1
readonly NArray HttpClient.cookies;

timeout

Entier, interroger et définir l'unité de délai d'attente en millisecondes

1
Integer HttpClient.timeout;

enableCookie

Booléen, commutateur de fonction cookie, activé par défaut

1
Boolean HttpClient.enableCookie;

autoRedirect

Booléen, commutateur de fonction de redirection automatique, activé par défaut

1
Boolean HttpClient.autoRedirect;

enableEncoding

Booléen, commutateur de fonction de décompression automatique, activé par défaut

1
Boolean 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

1
Integer 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

1
Integer 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

1
Integer HttpClient.maxBodySize;

userAgent

Chaîne, requête et ensemblehttpL'identifiant du navigateur dans la requête

1
String HttpClient.userAgent;

poolSize

Nombre entier, interrogez et définissez le nombre maximum de connexions de cache persistantes, par défaut 128

1
Integer 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

1
Integer HttpClient.poolTimeout;

http_proxy

Chaîne, requête et ensemblehttpAgent de demande, supporthttp/https/socks5 proxy

1
String 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é.

1
String 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

1
Integer HttpClient.sslVerification;

fonction membre

setClientCert

Définir le certificat client par défaut

1 2
HttpClient.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 2
HttpResponse HttpClient.request(Stream conn, HttpRequest req) async;

Paramètres d'appel :

Résultats de retour :


envoyerhttpDemander l'objet de flux spécifié et renvoyer le résultat

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

Paramètres d'appel :

Résultats de retour :


demande spécifiéeurl, et renvoie le résultat

1 2 3
HttpResponse 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 :

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 2
HttpResponse 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 :

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

1
HttpResponse HttpClient.request(Object opts) async;

Paramètres d'appel :

  • opts: Objet, spécifiez des informations supplémentaires

Résultats de retour :

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 2
HttpResponse 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 :

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 2
HttpResponse 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 :

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 2
HttpResponse 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 :

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 2
HttpResponse 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 :

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 2
HttpResponse 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 :

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


Utilisez la méthode HEAD pour demander le spécifiéurl, et renvoie le résultat, qui équivaut à request("PATCH", ...)

1 2
HttpResponse 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 :

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.

1
String 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.

1
Value 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