Module de base

modulehttp

Le module http encapsule le traitement des requêtes et réponses HTTP, nous permettant de créer facilement un serveur http ou de simuler un client pour lancer une requête http. Grâce au module http, les développeurs peuvent facilement écrire et traiter du code lié au protocole HTTP.

Voici un exemple simple pour créer un serveur Web et renvoyer une réponse Hello World :

1 2 3 4 5 6 7
const http = require('http'); const server = new http.Server(8080, function(request) { request.response.write('Hello World!'); }); server.start();

Dans cet exemple, nous introduisons le module http, puis définissons un objet serveur http et le lions au numéro de port local 8080. Lorsqu'une requête est envoyée à ce numéro de port, la réponse sera définie sur la chaîne "Hello World!".

Parallèlement, le module http contient également des objets clients,http.ClientSimuler l'environnement du navigateur pour mettre en cache les cookies et les stocker lors de la visiteurlLors du transport de l'objet client http cookie correspondant. tu peux l'utiliserhttp.ClientAccédez aux requêtes de l'interface http, effectuez des téléchargements http et une série d'opérations liées à http. Ci-dessous se trouvehttp.ClientExemples d'applications :

1 2 3 4
var http = require('http'); var httpClient = new http.Client(); httpClient.get('http://fibjs.org');

Dans l'exemple ci-dessus, unhttp.Clientobjet, puis appelle getla méthode pour lancer une requête http GET vers fibjs.org.

en outre,http.ClientIl existe d'autres propriétés et méthodes qui peuvent être appelées, telles que cookiesetc.

Le module https est un alias du module http. Vous require('https')pouvez également utiliser le module http.

objet

Request

Créez un objet de requête http, voirHttpRequest

1
HttpRequest http.Request;

Response

Créez un objet de réponse http, voirHttpResponse

1
HttpResponse http.Response;

Créez un objet cookie http, voirHttpCookie

1
HttpCookie http.Cookie;

Server

Créez un serveur http, voirHttpServer

1
HttpServer http.Server;

Client

Créez un client http, voirHttpClient

1
HttpClient http.Client;

HttpsServer

Créez un serveur https, voirHttpsServer

1
HttpsServer http.HttpsServer;

Handler

Créez un objet gestionnaire de protocole http, voirHttpHandler

1
HttpHandler http.Handler;

Repeater

Créez un objet de gestionnaire de transfert de requête http, voirHttpRepeater

1
HttpRepeater http.Repeater;

fonction statique

fileHandler

Créez un processeur de fichiers statiques http pour répondre aux messages http avec des fichiers statiques

1 2 3
static Handler http.fileHandler(String root, Object mimes = {}, Boolean autoIndex = false);

Paramètres d'appel :

  • root: Chaîne, chemin racine du fichier
  • mimes: Objet, paramètres MIME étendus
  • autoIndex: Booléen, s'il faut prendre en charge la navigation dans les fichiers du répertoire, la valeur par défaut est false, non pris en charge

Résultats de retour :

  • Handler, renvoie un processeur de fichiers statiques pour traiter les messages http

fileHandler prend en charge la pré-compression gzip. Lorsque la requête accepte le codage gzip et que le fichier filename.ext.gz existe dans le même chemin, ce fichier sera renvoyé directement, évitant ainsi la charge du serveur causée par une compression répétée.


setClientCert

Définir le certificat client par défaut

1 2
static http.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

Envoyer une requête http à l'objet de flux spécifié et renvoyer le résultat

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

Paramètres d'appel :

Résultats de retour :


Envoyer une requête http à l'objet de flux spécifié et renvoyer le résultat

1 2 3
static HttpResponse http.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
static HttpResponse http.request(String method, String url, Object opts = {}) async;

Paramètres d'appel :

  • method: String, spécifiez la méthode de requête http : 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 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
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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("HEAD", ...)

1 2
static HttpResponse http.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

propriétés statiques

STATUS_CODES

Objet, renvoie une collection de codes d'état de réponse HTTP standard et leurs brèves descriptions respectives.

1
static readonly Object http.STATUS_CODES;

cookies

NArray, renvoie le client httpHttpCookieliste d'objets

1
static readonly NArray http.cookies;

timeout

Entier, requête et définition du délai d'attente

1
static Integer http.timeout;

enableCookie

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

1
static Boolean http.enableCookie;

autoRedirect

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

1
static Boolean http.autoRedirect;

enableEncoding

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

1
static Boolean http.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
static Integer http.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
static Integer http.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
static Integer http.maxBodySize;

userAgent

Chaîne, interrogation et définition de l'identifiant du navigateur dans la requête http

1
static String http.userAgent;

poolSize

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

1
static Integer http.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
static Integer http.poolTimeout;

http_proxy

Chaîne, interrogation et définition du proxy de requête http, prise en charge du proxy http/https/socks5

1
static String http.http_proxy;

https_proxy

Chaîne, interrogation et définition du proxy de requête https, prise en charge du proxy http/https/socks5, s'il n'est pas défini ou défini sur vide, http_proxy sera réutilisé

1
static String http.https_proxy;