ObjectHttpClient
HttpClient ist eine Klassenbibliothek, die für HTTP-Client-Funktionen entwickelt wurde und grundlegende HTTP/HTTPS-Anfragen, Proxy-Zugriff, Cookie-Verwaltung und andere Funktionen bereitstellt
Mit HttpClient können Sie ganz einfach auf Webseiten zugreifen und diese bedienen. Hier ein einfaches Beispiel – Ausdrucken des Quellcodes auf einer Webseite:
1
2
3
4
5const http = require('http');
const res = http.get('http://www.example.com/');
console.log(res.body.readAll().toString());
In diesem Beispiel wird durch require eingeführthttpModul und dann verwendenhttp.getInitiieren Sie eine Get-Anfrage, wourlDer Parameter gibt die angeforderte URL an. Weilhttp.getDie Methode gibt a zurückHttpResponseObjekt, sodass Sie über seine Body-Eigenschaft auf den von der Anfrage zurückgegebenen Textinhalt zugreifen und ihn über die toString-Methode in einen String konvertieren können.
auf AnfrageurlEs handelt sich stattdessen um den Typ httpshttpTyp, der Code muss nur geändert werdenhttpÄndern Sie es einfach in https:
1
2
3
4
5const http = require('http');
const res = http.get('https://www.example.com/');
console.log(res.body.readAll().toString());
Darüber hinaus gibt es Beispiele für das direkte Initiieren von POST-Anfragen und das Festlegen von User-Agent über 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 diesem Beispiel wird zunächst ein HttpClient-Objekt httpClient erstellt und sein userAgent auf den User-Agent des Browsers festgelegt. Initiieren Sie dann über die Post-Methode eine Post-Anfrage, bei der die Parameter Name und Version den Hauptinhalt der Anfrage angeben. Abschließend wird der Hauptinhalt des Rückgabewerts ausgegeben.
Erbschaftsverhältnis
Konstrukteur
HttpClient
Der HttpClient-Konstruktor erstellt ein neues HttpClient-Objekt
1new HttpClient();
Mitgliedereigenschaften
cookies
NArray, zurückhttpKlientHttpCookieObjektliste
1readonly NArray HttpClient.cookies;
timeout
Ganzzahl, Abfrage und festgelegte Timeout-Einheit in Millisekunden
1Integer HttpClient.timeout;
enableCookie
Boolescher Wert, Cookie-Funktionsschalter, standardmäßig aktiviert
1Boolean HttpClient.enableCookie;
autoRedirect
Boolescher, automatischer Umleitungsfunktionsschalter, standardmäßig aktiviert
1Boolean HttpClient.autoRedirect;
enableEncoding
Boolescher, automatischer Dekomprimierungsfunktionsschalter, standardmäßig aktiviert
1Boolean HttpClient.enableEncoding;
maxHeadersCount
Geben Sie eine Ganzzahl ein, fragen Sie ab und legen Sie die maximale Anzahl von Anforderungsheadern fest. Der Standardwert ist 128
1Integer HttpClient.maxHeadersCount;
maxHeaderSize
Geben Sie eine Ganzzahl ein, fragen Sie ab und legen Sie die maximale Länge des Anforderungsheaders fest. Der Standardwert ist 8192
1Integer HttpClient.maxHeaderSize;
maxBodySize
Ganzzahl, Abfrage und Festlegung der maximalen Körpergröße in MB, der Standardwert ist -1, keine Größenbeschränkung
1Integer HttpClient.maxBodySize;
userAgent
String, Abfrage und SethttpDie Browser-ID in der Anfrage
1String HttpClient.userAgent;
poolSize
Ganzzahl, Abfrage und Festlegung der maximalen Anzahl von Keep-Alive-Cache-Verbindungen, Standard 128
1Integer HttpClient.poolSize;
poolTimeout
Ganzzahl, Abfrage und Festlegung des Verbindungs-Timeouts für den Keep-Alive-Cache, Standard 10000 ms
1Integer HttpClient.poolTimeout;
http_proxy
String, Abfrage und SethttpAgent anfordern, Supporthttp/https/socks5-Proxy
1String HttpClient.http_proxy;
https_proxy
Zeichenfolge, Abfrage und Festlegen des HTTPS-Anforderungs-Proxys, Unterstützunghttp/https/socks5-Proxy, wenn nicht festgelegt oder auf leer gesetzt, wird http_proxy wiederverwendet.
1String HttpClient.https_proxy;
sslVerification
Ganzzahl, Abfrage und Festlegung des Zertifikatsüberprüfungsmodus beim Herstellen einer Verbindung zu https, ReferenzsslVERIFY_*-Konstanten des Moduls, der Standardwert istssl.verification
1Integer HttpClient.sslVerification;
Mitgliedsfunktion
setClientCert
Legen Sie das Standard-Client-Zertifikat fest
1
2HttpClient.setClientCert(X509Cert crt,
PKey key);
Aufrufparameter:
- crt:X509Cert, Zertifikat, das zum Senden an den Server zur Überprüfung des Clients verwendet wird
- key:PKey, privater Schlüssel, der zur Kommunikation mit dem Client verwendet wird
request
schickenhttpFordern Sie das angegebene Stream-Objekt an und geben Sie das Ergebnis zurück
1
2HttpResponse HttpClient.request(Stream conn,
HttpRequest req) async;
Aufrufparameter:
- conn:Stream, gibt das Stream-Objekt an, das die Anfrage verarbeiten soll
- req:HttpRequest, zu versendenHttpRequestObjekt
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
schickenhttpFordern Sie das angegebene Stream-Objekt an und geben Sie das Ergebnis zurück
1
2
3HttpResponse HttpClient.request(Stream conn,
HttpRequest req,
SeekableStream response_body) async;
Aufrufparameter:
- conn:Stream, gibt das Stream-Objekt an, das die Anfrage verarbeiten soll
- req:HttpRequest, zu versendenHttpRequestObjekt
- response_body:SeekableStreamGeben Sie den Stream von „response.body“ an
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
Anfrage angegebenurl, und das Ergebnis zurückgeben
1
2
3HttpResponse HttpClient.request(String method,
String url,
Object opts = {}) async;
Aufrufparameter:
- method: Zeichenfolge, angebenhttpAnforderungsmethode: GET, POST usw.
- url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
- opts: Objekt, zusätzliche Informationen angeben
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:
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
}
Unter ihnen Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, der keine zusätzlichen Informationen enthält
Verwenden Sie die GET-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("GET", ...) entspricht.
1
2HttpResponse HttpClient.request(String url,
Object opts = {}) async;
Aufrufparameter:
- url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
- opts: Objekt, zusätzliche Informationen angeben
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:
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": {}
}
Unter ihnen Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, der keine zusätzlichen Informationen enthält
Anforderungsoptionen angegebenurl, und das Ergebnis zurückgeben
1HttpResponse HttpClient.request(Object opts) async;
Aufrufparameter:
- opts: Objekt, zusätzliche Informationen angeben
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:
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": {}
}
Unter ihnen Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, der keine zusätzlichen Informationen enthält
get
Verwenden Sie die GET-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("GET", ...) entspricht.
1
2HttpResponse HttpClient.get(String url,
Object opts = {}) async;
Aufrufparameter:
- url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
- opts: Objekt, zusätzliche Informationen angeben
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:
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": {}
}
Unter ihnen Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, der keine zusätzlichen Informationen enthält
post
Verwenden Sie die POST-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("POST", ...) entspricht.
1
2HttpResponse HttpClient.post(String url,
Object opts = {}) async;
Aufrufparameter:
- url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
- opts: Objekt, zusätzliche Informationen angeben
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:
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": {}
}
Unter ihnen Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, der keine zusätzlichen Informationen enthält
del
Verwenden Sie die DELETE-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("DELETE", ...) entspricht.
1
2HttpResponse HttpClient.del(String url,
Object opts = {}) async;
Aufrufparameter:
- url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
- opts: Objekt, zusätzliche Informationen angeben
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:
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": {}
}
Unter ihnen Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, der keine zusätzlichen Informationen enthält
put
Verwenden Sie die PUT-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("PUT", ...) entspricht.
1
2HttpResponse HttpClient.put(String url,
Object opts = {}) async;
Aufrufparameter:
- url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
- opts: Objekt, zusätzliche Informationen angeben
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:
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": {}
}
Unter ihnen Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, der keine zusätzlichen Informationen enthält
patch
Verwenden Sie die PATCH-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("PATCH", ...) entspricht.
1
2HttpResponse HttpClient.patch(String url,
Object opts = {}) async;
Aufrufparameter:
- url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
- opts: Objekt, zusätzliche Informationen angeben
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:
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": {}
}
Unter ihnen Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, der keine zusätzlichen Informationen enthält
head
Verwenden Sie die HEAD-Methode, um das angegebene anzufordernurlund gibt das Ergebnis zurück, das request("PATCH", ...) entspricht.
1
2HttpResponse HttpClient.head(String url,
Object opts = {}) async;
Aufrufparameter:
- url: Zeichenfolge, angebenurl, muss der vollständige enthaltende Host seinurl
- opts: Objekt, zusätzliche Informationen angeben
Rückgabeergebnisse:
- HttpResponse, gibt die Serverantwort zurück
opts enthält zusätzliche Optionen für die Anfrage, die wie folgt unterstützt werden:
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": {}
}
Unter ihnen Körper,json, Pack darf nicht gleichzeitig erscheinen. Der Standardwert ist {}, der keine zusätzlichen Informationen enthält
toString
Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.
1String HttpClient.toString();
Rückgabeergebnisse:
- String, gibt die Zeichenfolgendarstellung des Objekts zurück
toJSON
Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.
1Value HttpClient.toJSON(String key = "");
Aufrufparameter:
- key: Zeichenfolge, nicht verwendet
Rückgabeergebnisse:
- Value, gibt einen Wert zurück, der JSON serialisierbar enthält