날짜: 1996-05-06 | 글쓴이: 도아 | 21103 번 | 프린트 | 메일로보내기

펄 응용 - 제 6강 Win32::Internet 사용자 길잡이 - 계속


HTTP 함수 일반적 설명 모든 메소드는 메소드를 호출하기 전에 다음과 같은 행을 가지고 있는 것으로 가정한다:
use Win32::Internet;
$INET = new Win32::Internet();
$INET->HTTP($HTTP, "hostname", "username", "password");
다른 말로하면 $INET라는 인터넷 개체와 $HTTP라는 열려진 HTTP 세션을 가지고 있는 것으로 가정한다. 보다 자세한 정보는 newHTTP를 본다. 메소드
AddHeader header, [flags]
OpenRequest로 생성된 HTTP 요청 개체에 HTTP 요청 헤더를 추가한다. flags에 사용할 수 있는 값은 Microsoft Win32 인터넷 함수를 참조한다. 예:
$HTTP->OpenRequest($REQUEST,"/index.htm");
$REQUEST->AddHeader("If-Modified-Since:  Sunday, 17-Nov-96 11:40:03 GMT");
$REQUEST->AddHeader("Accept: text/html", HTTP_ADDREQ_FLAG_REPLACE);
OpenRequest requestobject, [path, method, version, referer, accept, flags, context]
OpenRequest requestobject, hashref
HTTP 요청을 연다. 오류가 발생하면 undef가 리턴되며 접속이 성공적인 경우에는 임의의 수가 리턴된다. 새로 생성된 requestobject 개체에대해 AddHeader, SendRequest, QueryInfo, QueryDataAvailable, ReadFile 메소드중 하나를 사용할 수 있다. 매개변수와 값은 다음과 같다:
매개변수 의미 기본값
path 요청할 개체. 이것은 일반적으로 파일명이나 실행모듈등이다. /
method 사용할 메소드; 사실 GET, POST, HEAD나 PUT중 하나일 것이다. GET
version HTTP 버전. HTTP/1.0
referer 현재의 URL의 링크를 제공한 URL. 없음
accept 받아들일 수 있는 MIME 형식. 이들은 ""(ASCII "영")에의해 분리되어야 한다. text/* image/gif image/jpeg
flags 함수의 동작에 영향을 주는 추가적인 플랙. 없음
context 비동기 동작시 동작을 확인하기위한 번호. 비동기 동작에대한 보다 자세한 정보는 SetStatusCallbackGetStatusCallback을 본다. 없음
이들 매개변수에대한 보다 자세한 사항은 Microsoft Win32 인터넷 함수를 참조한다. 만약 hashref(연관배열 참조)을 전달한다면 다음과 같은 값들이 배열로부터 취해진다:
%hash=(
	"path"		=> "path",
	"method"	=> "method",
	"version"	=> "version",
	"referer"	=> "referer",
	"accept"	=> "accept",
	"flags"		=> flags,
	"context"	=> context
);
또한 Request을 본다. 예:
$HTTP->OpenRequest($REQUEST, "/index.htm");
$HTTP->OpenRequest($REQUEST, "/index.htm", "GET", "HTTP/0.9");

$params{"path"} = "/index.htm";
$params{"flags"} = " 
$HTTP->OpenRequest($REQUEST, \%params);
QueryInfo header, [flags]
OpenRequest로 생성된 HTTP 요청 개체에대한 정보를 질의한다. header(예: "Content-type")를 지정할 수 있으며 하나 이상의 flags을 지정할 수 있다. 만약 flags이 지정되지 않으면 HTTP_QUERY_CUSTOM가 기본적으로 사용된다. 이것은 header는 타당한 HTTP 헤더 이름을 포함해야 한다는 것을 의미한다. flags에 사용할 수 있는 값은 Microsoft Win32 인터넷 함수를 참조한다. 예:
$HTTP->OpenRequest($REQUEST,"/index.htm");
$statuscode = $REQUEST->QueryInfo("", HTTP_QUERY_STATUS_CODE);
# will get all the headers
$headers = $REQUEST->QueryInfo("", HTTP_QUERY_RAW_HEADERS_CRLF); 
$length = $REQUEST->QueryInfo("Content-length");
Request [path, method, version, referer, accept, flags]
Request hashref
HTTP 요청을 수행하고 상태코드, 헤더, 파일의 내용을 포함하는 배열을 리턴한다. 이 것은 OpenRequest, SendRequest를 수행하고, QueryInfo, ReadFile를 수행한 후, 마지막으로 Close로 진행되는 단계를 간략화한 절차이다. 매개변수에대한 설명은 OpenRequest을 본다. 예:
($statuscode, $headers, $file) = $HTTP->Request("/index.htm");
($s, $h, $f) = $HTTP->Request("/index.htm", "GET", "HTTP/1.0");
SendRequest [postdata]
HTTP 요청을 원격서버로 전송한다. postdata는 요청 헤더를 전송한 직후 전송될 추가적인 데이타이다; 이 것은 일반적으로 POST나 PUT 요청에대해 사용된다. 예:
$HTTP->OpenRequest($REQUEST, "/index.htm");
$REQUEST->SendRequest();
 
# A POST request...
$HTTP->OpenRequest($REQUEST, "/cgi-bin/somescript.pl", "POST");
 
#This line is a must -> (thanks Philip :)
$REQUEST->AddHeader("Content-Type: application/x-www-form-urlencoded");

$REQUEST->SendRequest("key1=value1&key2=value2&key3=value3");


다음글: 펄 응용 - 제 7강 Win32::Internet 부록 (11621)1996-05-08
이전글: 펄 응용 - 제 5강 Win32::Internet 소개 (6722)1996-05-05
<< 이전페이지 (3/4)

세상사는 이야기

  • 컴맹도 할 수 있는 War >
  • 너희를 자유롭게 하리 >
  • 찾아라! 아이폰 순정용 >
  • 만원대 피젯 스피너를 >
  • 망하는 길을 택한 쿠팡 >
  • 물놀이에 적당한 가성 >
  • 컴퓨터를 IPTV로 2, po >
  • 컴퓨터를 IPTV로 만들 >
  • Warning.or.kr도 우회 >
  • 한국의 100대 부자, 어 >


  • RSS 구독 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2017 QAOS.com All rights reserved.