±ÍÇÏ´Â ¼Õ´Ô À̽ʴϴÙ
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ
  
  µ¨¸¶´ç °ø½Ä ÀºÇà°èÁÂ
  ÇϳªÀºÇà 227-910235-83607
  ¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø)
ÇÁ·ÎÁ§Æ® °Ô½ÃÆÇ
ÅõÇ¥°Ô½ÃÆÇ
µ¨¸¶´ç¼Ò°³
±âÃʺÎÅÍ È°¿ë±îÁö! µ¨ÆÄÀÌ ±³À° - µ¥ºê±â¾î
Áú¹®°ú ´äº¯ Áú¹®°ú ´äº¯ ÀÔ´Ï´Ù.
±Û³»¿ë - Áú¹®°ú ´äº¯
 [Áú¹®] indy http post ¹®ÀÇ
Âü»õ
(±èÁø¿í)
2020-07-21 ¿ÀÈÄ 8:42:44
2197ȸ Á¶È¸


÷ºÎÆÄÀÏ ´Ù¿î·Îµå
idhttpÈ£Ãâ.JPG

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´Ü ¾Ïȣȭ ±¸¹®ÀÔ´Ï´Ù.