³¯Â¥: 1996-05-06 | ±Û¾´ÀÌ: µµ¾Æ | 38319 ¹ø | ÇÁ¸°Æ® | ¸ÞÀϷκ¸³»±â

ÆÞ ÀÀ¿ë - Á¦ 6°­ Win32::Internet »ç¿ëÀÚ ±æÀâÀÌ - °è¼Ó


HTTP ÇÔ¼ö ÀϹÝÀû ¼³¸í ¸ðµç ¸Þ¼Òµå´Â ¸Þ¼Òµå¸¦ È£ÃâÇϱâ Àü¿¡ ´ÙÀ½°ú °°Àº ÇàÀ» °¡Áö°í ÀÖ´Â °ÍÀ¸·Î °¡Á¤ÇÑ´Ù:
use Win32::Internet;
$INET = new Win32::Internet();
$INET->HTTP($HTTP, "hostname", "username", "password");
´Ù¸¥ ¸»·ÎÇϸé $INET¶ó´Â ÀÎÅÍ³Ý °³Ã¼¿Í $HTTP¶ó´Â ¿­·ÁÁø HTTP ¼¼¼ÇÀ» °¡Áö°í ÀÖ´Â °ÍÀ¸·Î °¡Á¤ÇÑ´Ù. º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â new¿Í HTTP¸¦ º»´Ù. ¸Þ¼Òµå
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 ºñµ¿±â µ¿À۽à µ¿ÀÛÀ» È®ÀÎÇϱâÀ§ÇÑ ¹øÈ£. ºñµ¿±â µ¿ÀÛ¿¡´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â SetStatusCallback°ú GetStatusCallbackÀ» º»´Ù. ¾øÀ½
ÀÌµé ¸Å°³º¯¼ö¿¡´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ »çÇ×Àº 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 ºÎ·Ï (13572)1996-05-08
ÀÌÀü±Û: ÆÞ ÀÀ¿ë - Á¦ 5°­ Win32::Internet ¼Ò°³ (8594)1996-05-05
<< ÀÌÀüÆäÀÌÁö (3/4)

¼¼»ó»ç´Â À̾߱â



RSS ±¸µ¶ (À͸í | ȸ¿ø | °­Á | Æ÷·³)
(C) 1996 ~ 2017 QAOS.com All rights reserved.