オブジェクト組み込みオブジェクト

オブジェクトHTTPクライアント

HttpClient は、HTTP クライアント機能用に設計されたクラス ライブラリであり、基本的な HTTP/HTTPS リクエスト、プロキシ アクセス、Cookie 管理、その他の機能を提供します。

HttpClient を使用すると、Web ページに簡単にアクセスして操作できます。Web ページ上のソース コードを出力する簡単な例を次に示します。

1 2 3 4 5
const http = require('http'); const res = http.get('http://www.example.com/'); console.log(res.body.readAll().toString());

この例では、require によって導入されますhttpモジュールを作成してから使用しますhttp.getget リクエストを開始します。urlパラメータはリクエストされた URL を指定します。なぜならhttp.getメソッドは、HttpResponseオブジェクトであるため、リクエストによって返された本文のコンテンツに body プロパティを通じてアクセスし、toString メソッドを通じて文字列に変換できます。

要求されたときurlではなくhttps型ですhttpタイプの場合、コードを変更するだけで済みますhttphttps に変更するだけです。

1 2 3 4 5
const http = require('http'); const res = http.get('https://www.example.com/'); console.log(res.body.readAll().toString());

さらに、POST リクエストを直接開始し、HttpClient を通じて User-Agent を設定する例もあります。

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

この例では、HttpClient オブジェクト httpClient が最初に作成され、その userAgent がブラウザの User-Agent に設定されます。次に、post メソッドを通じて post リクエストを開始します。このリクエストでは、パラメータの名前とバージョンによってリクエストの主な内容が指定されます。最後に戻り値の本体内容を出力します。

相続関係

コンストラクタ

HttpClient

HttpClient コンストラクター、新しい HttpClient オブジェクトを作成します

1
new HttpClient();

メンバーのプロパティ

cookies

NA配列、戻り値httpクライアントHttpCookieオブジェクトリスト

1
readonly NArray HttpClient.cookies;

timeout

整数、クエリおよびタイムアウト単位の設定 (ミリ秒)

1
Integer HttpClient.timeout;

enableCookie

ブール値、Cookie 機能スイッチ、デフォルトで有効

1
Boolean HttpClient.enableCookie;

autoRedirect

ブール値、自動リダイレクト機能スイッチ、デフォルトで有効

1
Boolean HttpClient.autoRedirect;

enableEncoding

ブール値、自動解凍機能スイッチ、デフォルトで有効

1
Boolean HttpClient.enableEncoding;

maxHeadersCount

整数。リクエスト ヘッダーの最大数をクエリおよび設定します。デフォルトは 128 です。

1
Integer HttpClient.maxHeadersCount;

maxHeaderSize

整数。リクエスト ヘッダーの最大長をクエリおよび設定します。デフォルトは 8192 です。

1
Integer HttpClient.maxHeaderSize;

maxBodySize

整数。本文の最大サイズをクエリおよび設定します (MB 単位)。デフォルトは -1 で、サイズ制限はありません。

1
Integer HttpClient.maxBodySize;

userAgent

文字列、クエリ、セットhttpリクエスト内のブラウザ識別子

1
String HttpClient.userAgent;

poolSize

整数。キープアライブ キャッシュ接続の最大数をクエリおよび設定します。デフォルトは 128 です。

1
Integer HttpClient.poolSize;

poolTimeout

整数。キープアライブ キャッシュ接続タイムアウトをクエリおよび設定します。デフォルトは 10000 ミリ秒です。

1
Integer HttpClient.poolTimeout;

http_proxy

文字列、クエリ、セットhttpエージェント、サポートのリクエストhttp/https/socks5 プロキシ

1
String HttpClient.http_proxy;

https_proxy

文字列、クエリおよび設定 https リクエスト プロキシ、サポートhttp/https/socks5 プロキシ。設定されていないか空に設定されている場合、http_proxy が再利用されます。

1
String HttpClient.https_proxy;

sslVerification

整数、https に接続する際の証明書検証モードのクエリと設定、参照sslモジュールの VERIFY_* 定数。デフォルト値は次のとおりです。ssl.verification

1
Integer HttpClient.sslVerification;

メンバー関数

setClientCert

デフォルトのクライアント証明書を設定する

1 2
HttpClient.setClientCert(X509Cert crt, PKey key);

呼び出しパラメータ:

  • crt:X509Cert、証明書。クライアントを検証するためにサーバーに送信するために使用されます。
  • key:PKey、秘密キー、クライアントとの通信に使用されます

request

送信http指定されたストリーム オブジェクトをリクエストし、結果を返します

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

呼び出しパラメータ:

  • conn:Stream、リクエストを処理するストリーム オブジェクトを指定します。
  • req:HttpRequest、送信されますHttpRequest物体

返される結果:


送信http指定されたストリーム オブジェクトをリクエストし、結果を返します

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

呼び出しパラメータ:

  • conn:Stream、リクエストを処理するストリーム オブジェクトを指定します。
  • req:HttpRequest、送信されますHttpRequest物体
  • response_body:SeekableStream、response.bodyのストリームを指定します。

返される結果:


指定されたリクエストurl、結果を返します

1 2 3
HttpResponse HttpClient.request(String method, String url, Object opts = {}) async;

呼び出しパラメータ:

  • method: 文字列、指定しますhttpリクエストメソッド:GET、POSTなど
  • url: 文字列、指定しますurl、完全なホストを含​​む必要がありますurl
  • opts: オブジェクト、追加情報を指定します

返される結果:

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

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 }

その中には身体、json、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。


GET メソッドを使用して、指定された内容をリクエストします。url、 request("GET", ...) と同等の結果を返します。

1 2
HttpResponse HttpClient.request(String url, Object opts = {}) async;

呼び出しパラメータ:

  • url: 文字列、指定しますurl、完全なホストを含​​む必要がありますurl
  • opts: オブジェクト、追加情報を指定します

返される結果:

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

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": {} }

その中には身体、json、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。


指定されたリクエストオプションurl、結果を返します

1
HttpResponse HttpClient.request(Object opts) async;

呼び出しパラメータ:

  • opts: オブジェクト、追加情報を指定します

返される結果:

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

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": {} }

その中には身体、json、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。


get

GET メソッドを使用して、指定された内容をリクエストします。url、 request("GET", ...) と同等の結果を返します。

1 2
HttpResponse HttpClient.get(String url, Object opts = {}) async;

呼び出しパラメータ:

  • url: 文字列、指定しますurl、完全なホストを含​​む必要がありますurl
  • opts: オブジェクト、追加情報を指定します

返される結果:

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

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": {} }

その中には身体、json、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。


post

POST メソッドを使用して、指定されたリクエストをリクエストしますurl、 request("POST", ...) と同等の結果を返します。

1 2
HttpResponse HttpClient.post(String url, Object opts = {}) async;

呼び出しパラメータ:

  • url: 文字列、指定しますurl、完全なホストを含​​む必要がありますurl
  • opts: オブジェクト、追加情報を指定します

返される結果:

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

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": {} }

その中には身体、json、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。


del

DELETE メソッドを使用して、指定された内容をリクエストします。url、 request("DELETE", ...) と同等の結果を返します。

1 2
HttpResponse HttpClient.del(String url, Object opts = {}) async;

呼び出しパラメータ:

  • url: 文字列、指定しますurl、完全なホストを含​​む必要がありますurl
  • opts: オブジェクト、追加情報を指定します

返される結果:

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

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": {} }

その中には身体、json、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。


put

PUT メソッドを使用して、指定された内容をリクエストします。url、 request("PUT", ...) と同等の結果を返します。

1 2
HttpResponse HttpClient.put(String url, Object opts = {}) async;

呼び出しパラメータ:

  • url: 文字列、指定しますurl、完全なホストを含​​む必要がありますurl
  • opts: オブジェクト、追加情報を指定します

返される結果:

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

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": {} }

その中には身体、json、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。


patch

PATCH メソッドを使用して、指定されたurl、 request("PATCH", ...) と同等の結果を返します。

1 2
HttpResponse HttpClient.patch(String url, Object opts = {}) async;

呼び出しパラメータ:

  • url: 文字列、指定しますurl、完全なホストを含​​む必要がありますurl
  • opts: オブジェクト、追加情報を指定します

返される結果:

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

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": {} }

その中には身体、json、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。


HEAD メソッドを使用して、指定された内容をリクエストします。url、 request("PATCH", ...) と同等の結果を返します。

1 2
HttpResponse HttpClient.head(String url, Object opts = {}) async;

呼び出しパラメータ:

  • url: 文字列、指定しますurl、完全なホストを含​​む必要がありますurl
  • opts: オブジェクト、追加情報を指定します

返される結果:

opts にはリクエストの追加オプションが含まれており、次のようにサポートされます。

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": {} }

その中には身体、json、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。


toString

オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。

1
String HttpClient.toString();

返される結果:

  • String、オブジェクトの文字列表現を返します。

toJSON

オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。

1
Value HttpClient.toJSON(String key = "");

呼び出しパラメータ:

  • key: 文字列、使用されません

返される結果:

  • Value、シリアル化可能な JSON を含む値を返します