モジュール基本モジュール

モジュールhttp

http モジュールは HTTP リクエストとレスポンスの処理をカプセル化し、http サーバーを簡単に作成したり、クライアントをシミュレートして http リクエストを開始したりできるようにします。http モジュールを使用すると、開発者は HTTP プロトコルに関連するコードを簡単に作成して処理できます。

以下は、Web サーバーを作成し、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();

この例では、http モジュールを導入し、次に http サーバー オブジェクトを定義して、それをローカルのポート番号 8080 にバインドします。リクエストがこのポート番号に送信されると、レスポンスは文字列「Hello World!」に設定されます。

同時に、http モジュールにはクライアント オブジェクトも含まれています。http.Clientブラウザ環境をシミュレートして、Cookie をキャッシュし、訪問中に保存します。url対応する Cookie http クライアント オブジェクトを保持する場合。あなたはそれを使うことができますhttp.Clienthttp インターフェイス要求にアクセスし、http ダウンロードを実行し、http 関連の一連の操作を実行します。以下でありhttp.Client応用例:

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

上の例では、http.Clientオブジェクトを呼び出し、getメソッドを呼び出して fibjs.org への http GET リクエストを開始します。

加えて、http.Clientcookiesなど、呼び出すことができる他のプロパティとメソッドがいくつかあります。

https モジュールは http モジュールのエイリアスであり、require('https')http モジュールを使用することもできます。

物体

Request

http リクエスト オブジェクトを作成します。「http リクエスト オブジェクトを作成する」を参照してください。HttpRequest

1
HttpRequest http.Request;

Response

http 応答オブジェクトを作成します。「http 応答オブジェクトを作成する」を参照してください。HttpResponse

1
HttpResponse http.Response;

http cookie オブジェクトを作成します。「http cookie オブジェクトを作成する」を参照してください。HttpCookie

1
HttpCookie http.Cookie;

Server

http サーバーを作成します。「http サーバーを作成する」を参照してください。HttpServer

1
HttpServer http.Server;

Client

http クライアントを作成します。「http クライアントを作成する」を参照してください。HttpClient

1
HttpClient http.Client;

HttpsServer

https サーバーを作成します。「https サーバーを作成する」を参照してください。HttpsServer

1
HttpsServer http.HttpsServer;

Handler

http プロトコル ハンドラー オブジェクトを作成します。「http プロトコル ハンドラー オブジェクト」を参照してください。HttpHandler

1
HttpHandler http.Handler;

Repeater

http リクエスト転送ハンドラー オブジェクトを作成します。「http リクエスト転送ハンドラー オブジェクト」を参照してください。HttpRepeater

1
HttpRepeater http.Repeater;

静的関数

fileHandler

http 静的ファイル プロセッサを作成して、静的ファイルで http メッセージに応答する

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

呼び出しパラメータ:

  • root: 文字列、ファイルのルートパス
  • mimes: オブジェクト、拡張 MIME 設定
  • autoIndex: ブール値、ディレクトリ ファイルの参照をサポートするかどうか、デフォルトは false、サポートされません

返される結果:

  • Handler、httpメッセージを処理するための静的ファイルプロセッサを返します。

fileHandler は gzip 事前圧縮をサポートしています。リクエストが gzip エンコードを受け入れ、filename.ext.gz ファイルが同じパスに存在する場合、このファイルは直接返されるため、繰り返しの圧縮によるサーバーの負荷が回避されます。


setClientCert

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

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

呼び出しパラメータ:

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

request

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

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

呼び出しパラメータ:

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

返される結果:


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

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

呼び出しパラメータ:

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

返される結果:


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

1 2 3
static HttpResponse http.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 response.body stream }

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


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

1 2
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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
static HttpResponse http.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("HEAD", ...) と同等の結果を返します。

1 2
static HttpResponse http.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、パックを同時に出現させることはできません。デフォルトは {} で、追加情報は含まれません。

静的プロパティ

STATUS_CODES

オブジェクト。標準の HTTP 応答ステータス コードのコレクションと、それぞれの短い説明を返します。

1
static readonly Object http.STATUS_CODES;

cookies

NArray、http クライアントを返しますHttpCookieオブジェクトリスト

1
static readonly NArray http.cookies;

timeout

整数、クエリおよびタイムアウトの設定

1
static Integer http.timeout;

enableCookie

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

1
static Boolean http.enableCookie;

autoRedirect

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

1
static Boolean http.autoRedirect;

enableEncoding

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

1
static Boolean http.enableEncoding;

maxHeadersCount

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

1
static Integer http.maxHeadersCount;

maxHeaderSize

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

1
static Integer http.maxHeaderSize;

maxBodySize

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

1
static Integer http.maxBodySize;

userAgent

文字列、クエリ、および http リクエストのブラウザ識別子を設定します

1
static String http.userAgent;

poolSize

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

1
static Integer http.poolSize;

poolTimeout

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

1
static Integer http.poolTimeout;

http_proxy

文字列、http リクエスト プロキシのクエリと設定、http/https/socks5 プロキシのサポート

1
static String http.http_proxy;

https_proxy

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

1
static String http.https_proxy;