モジュールhttp
http モジュールは HTTP リクエストとレスポンスの処理をカプセル化し、http サーバーを簡単に作成したり、クライアントをシミュレートして http リクエストを開始したりできるようにします。http モジュールを使用すると、開発者は HTTP プロトコルに関連するコードを簡単に作成して処理できます。
以下は、Web サーバーを作成し、Hello World 応答を返す簡単な例です。
1
2
3
4
5
6
7const 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
4var 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
1HttpRequest http.Request;
Response
http 応答オブジェクトを作成します。「http 応答オブジェクトを作成する」を参照してください。HttpResponse
1HttpResponse http.Response;
Cookie
http cookie オブジェクトを作成します。「http cookie オブジェクトを作成する」を参照してください。HttpCookie
1HttpCookie http.Cookie;
Server
http サーバーを作成します。「http サーバーを作成する」を参照してください。HttpServer
1HttpServer http.Server;
Client
http クライアントを作成します。「http クライアントを作成する」を参照してください。HttpClient
1HttpClient http.Client;
HttpsServer
https サーバーを作成します。「https サーバーを作成する」を参照してください。HttpsServer
1HttpsServer http.HttpsServer;
Handler
http プロトコル ハンドラー オブジェクトを作成します。「http プロトコル ハンドラー オブジェクト」を参照してください。HttpHandler
1HttpHandler http.Handler;
Repeater
http リクエスト転送ハンドラー オブジェクトを作成します。「http リクエスト転送ハンドラー オブジェクト」を参照してください。HttpRepeater
1HttpRepeater http.Repeater;
静的関数
fileHandler
http 静的ファイル プロセッサを作成して、静的ファイルで http メッセージに応答する
1
2
3static 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
2static http.setClientCert(X509Cert crt,
PKey key);
呼び出しパラメータ:
request
指定されたストリーム オブジェクトに http リクエストを送信し、結果を返します。
1
2static HttpResponse http.request(Stream conn,
HttpRequest req) async;
呼び出しパラメータ:
- conn:Stream、リクエストを処理するストリーム オブジェクトを指定します。
- req:HttpRequest、送信されますHttpRequest物体
返される結果:
- HttpResponse、サーバー応答を返します
指定されたストリーム オブジェクトに http リクエストを送信し、結果を返します。
1
2
3static HttpResponse http.request(Stream conn,
HttpRequest req,
SeekableStream response_body) async;
呼び出しパラメータ:
- conn:Stream、リクエストを処理するストリーム オブジェクトを指定します。
- req:HttpRequest、送信されますHttpRequest物体
- response_body:SeekableStream、response.bodyのストリームを指定します。
返される結果:
- HttpResponse、サーバー応答を返します
指定されたリクエストurl、結果を返します
1
2
3static HttpResponse http.request(String method,
String url,
Object opts = {}) async;
呼び出しパラメータ:
- method: 文字列。HTTP リクエスト メソッドを指定します: GET、POST など。
- url: 文字列、指定しますurl、完全なホストを含む必要がありますurl
- opts: オブジェクト、追加情報を指定します
返される結果:
- HttpResponse、サーバー応答を返します
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
2static HttpResponse http.request(String url,
Object opts = {}) async;
呼び出しパラメータ:
返される結果:
- HttpResponse、サーバー応答を返します
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、結果を返します
1static HttpResponse http.request(Object opts) async;
呼び出しパラメータ:
- opts: オブジェクト、追加情報を指定します
返される結果:
- HttpResponse、サーバー応答を返します
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
2static HttpResponse http.get(String url,
Object opts = {}) async;
呼び出しパラメータ:
返される結果:
- HttpResponse、サーバー応答を返します
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
2static HttpResponse http.post(String url,
Object opts = {}) async;
呼び出しパラメータ:
返される結果:
- HttpResponse、サーバー応答を返します
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
2static HttpResponse http.del(String url,
Object opts = {}) async;
呼び出しパラメータ:
返される結果:
- HttpResponse、サーバー応答を返します
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
2static HttpResponse http.put(String url,
Object opts = {}) async;
呼び出しパラメータ:
返される結果:
- HttpResponse、サーバー応答を返します
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
2static HttpResponse http.patch(String url,
Object opts = {}) async;
呼び出しパラメータ:
返される結果:
- HttpResponse、サーバー応答を返します
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
HEAD メソッドを使用して、指定された内容をリクエストします。url、 request("HEAD", ...) と同等の結果を返します。
1
2static HttpResponse http.head(String url,
Object opts = {}) async;
呼び出しパラメータ:
返される結果:
- HttpResponse、サーバー応答を返します
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 応答ステータス コードのコレクションと、それぞれの短い説明を返します。
1static readonly Object http.STATUS_CODES;
cookies
NArray、http クライアントを返しますHttpCookieオブジェクトリスト
1static readonly NArray http.cookies;
timeout
整数、クエリおよびタイムアウトの設定
1static Integer http.timeout;
enableCookie
ブール値、Cookie 機能スイッチ、デフォルトで有効
1static Boolean http.enableCookie;
autoRedirect
ブール値、自動リダイレクト機能スイッチ、デフォルトで有効
1static Boolean http.autoRedirect;
enableEncoding
ブール値、自動解凍機能スイッチ、デフォルトで有効
1static Boolean http.enableEncoding;
maxHeadersCount
整数。リクエスト ヘッダーの最大数をクエリおよび設定します。デフォルトは 128 です。
1static Integer http.maxHeadersCount;
maxHeaderSize
整数。リクエスト ヘッダーの最大長をクエリおよび設定します。デフォルトは 8192 です。
1static Integer http.maxHeaderSize;
maxBodySize
整数。本文の最大サイズをクエリおよび設定します (MB 単位)。デフォルトは -1 で、サイズ制限はありません。
1static Integer http.maxBodySize;
userAgent
文字列、クエリ、および http リクエストのブラウザ識別子を設定します
1static String http.userAgent;
poolSize
整数。キープアライブ キャッシュ接続の最大数をクエリおよび設定します。デフォルトは 128 です。
1static Integer http.poolSize;
poolTimeout
整数。キープアライブ キャッシュ接続タイムアウトをクエリおよび設定します。デフォルトは 10000 ミリ秒です。
1static Integer http.poolTimeout;
http_proxy
文字列、http リクエスト プロキシのクエリと設定、http/https/socks5 プロキシのサポート
1static String http.http_proxy;
https_proxy
文字列、https リクエスト プロキシのクエリと設定、http/https/socks5 プロキシのサポート、設定されていない場合、または空に設定されている場合、http_proxy が再利用されます
1static String http.https_proxy;