루비 CGI 방법


다음은 CGI 클래스의 메소드 목록입니다.

일련번호 메서드 설명
1CGI::new([ level="query"])
CGI 생성 물체. 쿼리는 다음 값일 수 있습니다.
  • query: HTML 생성 출력 없음

  • html3: HTML3.2

  • html4: HTML4.0 Strict

  • html4Tr : HTML4 . 0 Transitional

  • html4Fr: HTML4.0 Frameset

2CGI::escape(str)
URL 인코딩을 사용하여 문자열을 이스케이프하세요
3 CGI ::unescape(str)
escape()로 인코딩된 문자열을 디코딩합니다.
4CGI::escapeHTML(str)
& <를 포함한 HTML 특수 문자를 인코딩합니다.
5CGI::unescapeHTML(str)
& <를 포함한 HTML 특수 문자를 디코딩합니다.
6CGI::escapeElement( str[, element...])
지정된 HTML 요소에 HTML 특수 문자를 인코딩합니다.
7CGI::unescapeElement(str, element[, element...])
지정된 HTML 요소의 HTML 특수 문자를 디코딩합니다.
8CGI::parse( query)
쿼리 문자열을 구문 분석하고 해시가 포함된 키 => 값 쌍을 반환합니다.
9CGI::pretty( string[, Leader=" "])
깔끔한 HTML 형식을 반환합니다. leader를 지정하면 각 줄의 시작 부분에 기록됩니다. leader 기본값은 공백 2개입니다.
10CGI::rfc1123_date(time)
RFC-1123에 따라 시간 형식을 지정합니다(예: 2008년 6월 2일 화요일 00:00:00 GMT).

CGI 인스턴스화 방법

다음 예에서는 CGI::new 개체를 c 변수에 할당합니다.

일련 번호메서드 설명
1c[ name]
name이라는 해당 필드의 값이 포함된 배열을 반환합니다.
2c.checkbox( name[, value[, check=false]])
c.checkbox( options)

체크박스 필드를 정의하는 데 사용되는 HTML 문자열을 반환합니다. 레이블의 속성은 해시 함수에 대한 인수로 전달될 수 있습니다.
3c.checkbox_group( name, value...)
c.checkbox_group( options)

> 체크박스 그룹을 정의하는 데 사용되는 HTML 문자열을 반환합니다. 레이블의 속성은 해시 함수에 대한 인수로 전달될 수 있습니다.
4c.file_field( name[, size=20[, max]])
c.file_field( options)

파일 필드를 정의하는 HTML 문자열을 반환합니다.
5c.form([ method="post"[, url]]) { ...}
c.form( options)

양식 양식을 정의하는 HTML 문자열을 반환합니다. 코드 블록을 지정하면 양식 내용으로 출력됩니다. 레이블의 속성은 해시 함수에 인수로 전달될 수 있습니다.
6c.cookies
쿠키의 키-값 쌍이 포함된 CGI::Cookie 개체를 반환합니다.
7c.header([header])
CGI 헤더 정보를 반환합니다. 헤더 매개변수가 해시 값인 경우 해당 키-값 쌍을 사용하여 헤더 정보를 생성합니다.
8c.hidden( name[, value])
c.hidden( options)

숨겨진 필드를 정의하는 HTML 문자열을 반환합니다. 레이블의 속성은 해시 함수를 사용하여 매개변수로 전달될 수 있습니다.
9c.image_button( url[, name[, alt]])
c.image_button( options)

이미지 버튼을 정의하는 HTML 문자열을 반환합니다. 레이블의 속성은 해시 함수를 사용하여 매개변수로 전달될 수 있습니다.
10c.keys
양식 필드 이름이 포함된 배열을 반환합니다.
11c.key?(이름)
c.has_key?(이름)
c.include?(이름)

양식에 지정된 필드 이름이 포함되어 있으면 true를 반환합니다.
12c.multipart_form([ url[, encode]]) { ...}
c.multipart_form( options) { ...}

멀티미디어 형식(멀티파트)을 정의하는 HTML 문자를 반환합니다. ) 끈. 레이블의 속성은 해시 함수에 인수로 전달될 수 있습니다.
13c.out([ header]) { ...}
HTML 및 출력을 생성합니다. 블록의 출력에서 ​​생성된 문자열을 사용하여 페이지 본문을 만듭니다.
14c.params
양식 필드 이름과 값이 포함된 해시를 반환합니다.
15c.params= hash
필드 이름과 값을 사용하여 설정합니다.
16c.password_field( 이름[, 값[, size=40[, max]]])
c.password_field( 옵션)

비밀번호 필드를 정의하는 HTML 문자열을 반환합니다. 레이블의 속성은 해시 함수에 인수로 전달될 수 있습니다.
17c.popup_menu( 이름, 값...)
c.popup_menu( 옵션)
c.scrolling_list( 이름, 값...)
c.scrolling_list( 옵션)

돌아가서 정의 a 팝업 메뉴의 HTML 문자열입니다. 레이블의 속성은 해시 함수에 인수로 전달될 수 있습니다.
18c.radio_button( name[, value[,checked=false]])
c.radio_button( options)

라디오 필드를 정의하는 HTML 문자열을 반환합니다. 레이블의 속성은 해시 함수에 인수로 전달될 수 있습니다.
19c.radio_group( name, value...)
c.radio_group( options)

라디오 버튼 그룹을 정의하는 HTML 문자열을 반환합니다. 레이블의 속성은 해시 함수에 인수로 전달될 수 있습니다.
20c.reset( name[, value])
c.reset( options)

재설정 버튼을 정의하는 HTML 문자열을 반환합니다. 레이블의 속성은 해시 함수
21c.text_field( name[, value[, size=40[, max]]])
c.text_field( options)

를 사용하여 매개변수로 전달할 수 있습니다. return 텍스트 필드를 정의하는 HTML 문자열입니다. 레이블의 속성은 해시 함수에 인수로 전달될 수 있습니다.
22c.textarea( name[, cols=70[,rows=10]]) { ...}
c.textarea( options) { ...}

텍스트 영역 정의로 돌아가기 필드 HTML 문자열. block이 지정되면 코드 블록에서 출력되는 문자열이 텍스트 영역의 내용으로 사용됩니다. 레이블의 속성은 해시 함수에 인수로 전달될 수 있습니다.

HTML 생성 방법

CGI 인스턴스에서 해당 HTML 태그 이름을 사용하여 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 인스턴스에서 다음 속성을 사용할 수 있습니다.

Properties반환 값
accept허용되는 MIME 유형
accept_charset허용되는 문자 집합
accept_encoding 허용되는 인코딩
accept_언어허용되는 언어
auth_type허용되는 유형
raw_cookie쿠키 데이터(원본 문자열)
content_length콘텐츠 길이(콘텐츠 길이)
content_type 콘텐츠 유형( 콘텐츠 유형)
From클라이언트 이메일 주소
gateway_interfaceCGI 버전
path_infopath
path_translated 변환된 경로
Query_string 쿼리 문자열
referer 이전에 액세스한 URL
remote_addr클라이언트 호스트 주소(IP)
remote_host클라이언트 호스트 이름
remote_ ident클라이언트 이름
rem ote_user인증된 사용자
request_method 요청 메소드(GET, POST 등)
script_name매개변수 이름
server_name 서버 이름
server_port Server
server_pro tocol서버 프로토콜
server_software서버 소프트웨어
user_agent사용자 에이전트