1. °³¹ß/½ÇÇà Ç÷§Æû
(1) OS : win
(2) °³¹ßÅø : µ¨ÆÄÀÌ 2009
(3) »ç¿ë Database :
2. °³¹ß ÁßÀÎ ÇÁ·Î±×·¥ indy http rest api È£Ãâ
3. Áú¹® ³»¿ë
¾È³çÇϼ¼¿ä. ÃÖ±Ù¿¡ ±ÛÀ» ¿©·¯¹ø ³²±â°í Àֳ׿ä.. ´ä´äÇÑ ¸¶À½¿¡ ´Ù½Ã Áú¹®µå¸³´Ï´Ù. ¤Ð¤Ð
¿ì¼±Àº Á¦°¡ ÇÏ°í ÀÖ´Â°Ç JSONÇü½ÄÀ¸·Î REST API È£ÃâÇÏ°í ÀÖÀ¸¸ç, ±× Áß°£¿¡ AES128, CBC, PKCS5PADDING À¸·Î ¾Ïº¹È£È ¹× BASE64·Î ÀÎ/µðÄÚµùÇÏ¿© È£Ãâ°³¹ßÇÏ°í ÀÖ½À´Ï´Ù.
JAVA¹öÀüÀ¸·Î È£Ãâ¿Ï·áÇÏ¿© µ¨ÆÄÀ̹öÀüÀ¸·Î º¯°æÇؼ °³¹ßÁßÀ̸ç, ÀÌÁ¦ indy »ç¿ëÇÏ°í api È£Ã⠺κР°³¹ßÁß¿¡ ÀÖ½À´Ï´Ù.
INDY ¹öÀüÀº 10.2.5 »ç¿ëÁßÀ̸ç, ÁÖ¼Ò°¡ https ¶ó¼ tidhttp, TidSSLIOhandlerSocketOpenSSL, TidLogEvent 3°³ »ç¿ëÇÏ¿© ¿¬°áÇؼ log±îÁö Âï¾îº¸¸é¼ °³¹ßÁßÀ̸ç, request ±¸¹®¿¡¼ customHeadersÂʵµ Ãß°¡ÇÏ¿© ¸®Äù½ºÆ® ±¸¹® ¸¸µé¾î¼ post ³¯¸®°í ÀÖÀ¸³ª
connection Àº µÇ¾ú´Ù°í ³ª¿À³ª exception ¿¡¼ Connection Closed Gracefully ·Î ¿¹¿Ü³ª¿À°í ÀÖ´Â »óȲÀÔ´Ï´Ù.
Àú ¸Þ¼¼Áö°¡ ¿¡·¯°¡ ¾Æ´Ï¶ó ¿¬°áÀÌ Á¤»óÁ¾·á·Î ³ª¿À´Â ¸Þ¼¼Áö´Â ¾Ë°Ú´Âµ¥ respons°ªÀÌ ¾Æ¹«°Íµµ ³¯¾Æ¿ÀÁö ¾Ê¾Æ¼ Áú¹®À» ³²±â°Ô µÇ¾ú½À´Ï´Ù.
sslHandle := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
sslHandle2.SSLOptions.Method := sslvSSLv23;
sslHandle2.SSLOptions.Mode := sslmClient;
idHTTP2.Request.ContentType := 'application/json; charset=utf-8';
idHTTP2.Request.ContentEncoding := 'utf-8';
idHTTP2.Request.Accept := 'application/json; charset=utf-8';
IdHTTP2.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 safari/537.36';
IdHTTP2.Response.ContentType := 'application/json; charset=utf-8';
idHTTP2.Request.CustomHeaders.Values['X-Openpoint'] := 'burC=OA26|aesYn=Y';
url2 := 'https://È£Ãâurl:8903/op';
try
showmessage('JsonToSend2 º¸³»´Â½ºÆ®¸²»çÀÌÁî' + IntToStr(JsonToSend2.Size));
// IdHTTP2.Connect;
// resultstr := idHTTP2.Post(url2, JsonToSend2);
// post ½ºÆ®¸²À¸·Î
idHTTP2.Post(url2, JsonToSend2, rcvStream2);
//post ¿ÍÀ̵彺Ʈ¸².
showmessage('½ºÆ®¸²»çÀÌÁî' + IntToStr(rcvStream2.Size));
showmessage('resultstr :' + resultstr);
except
// on e : EIdHTTPProtocolException do
// begin
// showmessage('ÀͼÁ¼ÇEIdHTTPProtocolException = ' + e.Message);
// end;
on e: EIdHTTPProtocolException do
begin
end;
on e: Exception do
begin
showmessage('½ºÆ®¸²»çÀÌÁî' + IntToStr(rcvStream2.Size));
showmessage('¾È¿¡ ÀͼÁ¼Ç ±×·¹À̽ºÇ®¸®Eception = ' + e.Message);
end;
end;
showmessage('wide½ºÆ®¸² °á°ú :' + resultstr);
// resStr2 := TEncoding.UTF8.GetString(rcvStream2.Bytes, 0, rcvStream2.Size);
// showmessage('½ºÆ®¸²³»¿ë = ' + (rcvStream2.ToString));
// showmessage('½ºÆ®¸²»çÀÌÁî' + IntToStr(rcvStream2.Size));
¼Ò½º°¡ ³Ê¹« ÀÌ°ÍÀú°Í ÇÏ´Ùº¸´Ï ³Ê¹« Á¶ÀâÇϱä Çѵ¥ ¹®Á¦Á¡Àº ÀÀ´ästreamÀ» ¹ÞÀ»¼ö ¾ø´Ù´Â°Ô ¹®Á¦Á¡À̸ç,
Ȥ½Ã³ª idhttp È£ÃâÀÌ µû·Î ¼¹ö´Ü¿¡¼ ¹» ¿¾îÁà¾ßÇϰųª ±×·±°Ô ÀÖÀ»±î¿ä ¾Æ´Ï¸é µ¨ÆÄÀÌ´Ü¿¡¼ ¹º°¡ ¼ÂÆÃÀ» À߸øÇѰɱî¿ä
À̹ÌÁö´Â ¸¸µé¾îÁø headerºÎºÐ°ú body´Ü ¾ÏÈ£È ±¸¹®ÀÔ´Ï´Ù.