RubyのCGI方法
以下は、メソッドのCGIクラスのリストです。
いいえ。 | メソッド説明 |
---|---|
1 | CGI ::新しい([レベル= "クエリ"]) CGIオブジェクトを作成します。 クエリは、次の値を指定できます。
|
2 | CGI ::エスケープ(文字列) URLエンコードされた文字列エスケープします |
3 | CGI ::アンエスケープ(文字列) エスケープを通じて()エンコードされた文字列をデコードします。 |
4 | CGI :: escapeHTML(文字列) 含め、HTML特殊文字をコーディング:&<>。 |
5 | CGI :: unescapeHTML(文字列) &<>:を含む、特殊なHTML文字をデコードします。 |
6 | CGI :: escapeElement(文字列[、要素 ...]) 指定されたHTML要素のHTML特殊文字をコーディング。 |
7 | CGI :: unescapeElement(文字列、要素[ 、要素...]) 指定されたHTML要素における特殊なHTML文字をデコードします。 |
8 | CGI ::パース(クエリ) クエリ文字列を解析し、キー= "値のペアを含むハッシュを返します。 |
9 | CGI ::かわいい(文字列[、リーダー = ""]) 戻るきちんとしたHTML形式。 あなたがリーダーを指定する場合は、各行の先頭に書き込まれます。リーダーのデフォルトは二つのスペースです。 |
10 | CGI :: rfc1123_date(時間) RFC-1123形式の時間に応じて(例えば、火、2008年6月2日00:00:00 GMT)。 |
CGIのインスタンスメソッド
次の例は、CGIます::変数cに割り当てられた新しいオブジェクト、以下に記載の方法を:
いいえ。 | メソッド説明 |
---|---|
1 | C [名前] これは、nameという名前の、対応するフィールドの値を含む配列を返します。 |
2 | c.checkbox(名[、値[、 ] = falseを確認してください]) c.checkbox(オプション) チェックボックスフィールドを定義するHTML文字列を返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
3 | c.checkbox_group(名前、値...) c.checkbox_group(オプション) >チェックボックスグループを定義するために使用されるHTML文字列を返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
4 | c.file_field(名[、サイズ= 20 [最大]]) c.file_field(オプション) 定義ファイルのフィールドのHTML文字列を返します。 |
5 | c.form([メソッド= "ポスト" [、URL]]){...} c.form(オプション) 戻るフォームフォームのHTML文字列を定義しました。 ブロックを指定した場合、フォームの内容として出力されます。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
6 | c.cookies ペアでクッキーを含む戻るCGI :: Cookieオブジェクト。 |
7 | c.header([ヘッダ]) 戻るCGIヘッダー情報。 ヘッダー引数がキーであるハッシュ値である場合、 - 値のペアは、ヘッダ情報を作成するために使用されます。 |
8 | c.hidden(名[、値]) c.hidden(オプション) 隠しフィールドを定義するためのHTML文字列を返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
9 | c.image_button(URL [、名[、 ALT]]) c.image_button(オプション) 戻るHTMLイメージボタンの文字列を定義します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
10 | c.keys これは、フォームのフィールド名を含む配列を返します。 |
11 | c.key?(名) c.has_key?(名) c.include?(名) フォームが含まれている場合は指定したフィールド名はtrueを返します。 |
12 | c.multipart_form([URL [、エンコード] ]){...} c.multipart_form(オプション){...} 戻るマルチメディア形式(マルチパート)HTML文字列を定義します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
13 | c.out([ヘッダ]){... } そして、HTML出力を生成します。 ページを作成するために体内で使用される出力ブロックは、文字列を生成しました。 |
14 | c.params ハッシュは、フォームのフィールド名と値が含まれて返します。 |
15 | c.params =ハッシュ フィールド名と値を使用して設定します。 |
16 | c.password_field(名[、値[、サイズ= 40 [、最大]]]) c.password_field(オプション) 戻るパスワードフィールドのHTML文字列を定義します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
17 | c.popup_menu(名前、値...) c.popup_menu(オプション) c.scrolling_list(名前、値...) c.scrolling_list(オプション) HTML文字列を定義するためのポップアップメニューを返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
18 | c.radio_button(名[、値[、確認された=偽]]) c.radio_button(オプション) HTML定義された電波の文字列を返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
19 | c.radio_group(名前、値...) c.radio_group(オプション) 文字列定義のHTMLラジオボタングループを返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
20 | c.reset(名[、値]) c.reset(オプション) HTML文字列を返すために、リセットボタンを定義します。 ラベルのプロパティは、引数としてハッシュ関数であってもよいです |
21 | c.text_field(名[、値[、サイズ= 40 [、最大]]]) c.text_field(オプション) HTMLの文字列フィールド定義されたテキストを返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
22 | c.textarea(名[、colsの= 70 [行= 10]]){...} c.textarea(オプション){...} 文字列の定義されたHTMLテキストエリアのフィールドを返します。 あなたは、ブロック、テキストエリアの内容として符号列出力のブロックを指定した場合。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。 |
HTMLの生成
次のように、その後、HTMLタグを作成するために適切なCGIの例のHTMLタグ名を使用することができ、その例は以下のとおりです。
#!/usr/bin/ruby require "cgi" cgi = CGI.new("html4") cgi.out{ cgi.html{ cgi.head{ "\n"+cgi.title{"This Is a Test"} } + cgi.body{ "\n"+ cgi.form{"\n"+ cgi.hr + cgi.h1 { "A Form: " } + "\n"+ cgi.textarea("get_text") +"\n"+ cgi.br + cgi.submit } } } }
CGIオブジェクトのプロパティ
その後、次のプロパティのCGIインスタンスを使用することができます。
プロパティ | 戻り値 |
---|---|
受け入れます | 許容可能なMIMEタイプ |
accept_charset | 許容可能な文字セット |
accept_encoding | 許容可能なコーディング |
accept_language | 許容可能な言語 |
AUTH_TYPE | 許容可能なタイプ |
raw_cookie | クッキーデータ(元の文字列) |
CONTENT_LENGTH | コンテンツ長(コンテンツの長さ) |
CONTENT_TYPE | コンテンツタイプ(コンテンツタイプ) |
から | クライアントの電子メールアドレス |
GATEWAY_INTERFACE | CGI版 |
PATH_INFO | パス |
PATH_TRANSLATED | コンバージョンパスした後、 |
QUERY_STRING | クエリ文字列 |
リファラ | URLにアクセスする前に |
REMOTE_ADDR | クライアントのホストアドレス(IP) |
REMOTE_HOST | クライアントのホスト名 |
REMOTE_IDENT | クライアント名 |
REMOTE_USER | 認証されたユーザー |
REQUEST_METHOD | リクエストメソッド(GET、POSTなど) |
SCRIPT_NAME | パラメーター名 |
SERVER_NAME | サーバーの名前 |
SERVER_PORT | サーバーポート |
SERVER_PROTOCOL | サーバプロトコル |
SERVER_SOFTWARE | サーバーソフトウェア |
user_agentの | ユーザーエージェント(ユーザーエージェント) |