안녕하세요..고수님들,
Delphi7 + Indy 10 을 사용하고 있습니다.
한국수출입은행이 제공하는 환율정보를 가져올려고 합니다 .
https를 위해 ssleay32.dll, libeay32.dll 은 해당 폴더에 복사해서 통신에 문제없음은 확인 했습니다.
다른 API를 통해 확인했습니다.
procedure TForm1.up_Api_Koreaexim;
const cnToKen = ' -- 요건 제공받은 토큰 --';
var
sUrl: Widestring;
Code, searchword : AnsiString;
DResult : TStringStream;
OuterRoot, EntryNode:iXmlNode;
i,j, nTotCnt, k, tPage: integer;
begin
DResult := TStringStream.Create('');
try
code := HttpEncode(UTF8Encode(cnToKen)); //토큰
searchword := HttpEncode(Utf8Encode(formatDateTime('yyyymmdd', now))); //검색어
IdHttp1.IOHandler:= IdSSLIOHandlerSocketOpenSSL1;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv23;
sUrl := 'https://www.koreaexim.go.kr/site/program/financial/exchangeJSON';
// Get 방식 호출
sUrl := sUrl + '?authkey=' + code + '&searchdate=20211119' + '&data=AP01';
//IdHttp1.Request.ContentType := 'text/html';
//IdHttp1.Request.ContentType := 'application/json';
//IdHttp1.HTTPOptions := [hoForceEncodeParams];
IdHttp1.get(sUrl, DResult);
except
DResult.Free;
end;
end;
요렇게 했는데요. 아래와 <그림1>같이 페이지를 찾을수 없다고 나오네요..
크롭(python도 잘됨)의 주소에 위의 내용을 치면 <그림2>와 같이 잘 나오거든요.
무엇이 문제일까요? 제가 web쪽은 잘 몰라서^^;
다른 api에서 xml은 잘 되는거 같은데..
가이드 부탁드립니다.
<그림1>그림이 안올라가서 텍스트로 간략히...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0.................................
.................
<body>
<dis class="page_error"> <!--page_error -->
<p><a href="#><img src="https://www.koreaexim.go.kr/files/web1/images/common/logo.gif" alt="한국수출입은행"/></a></p>
<div class="error">
<p class="p1">페이지 정보가 없습니다.</p>
<p class="p2">요청하신 페이지를 찾을 수 없거나, 서버에서 삭제되었습니다.<br/>URL을 확인해 주세요.</p>
...........................
<그림2>
https://www.koreaexim.go.kr/site/program/financial/exchangeJSON?authkey=토큰값&searchdate=20211118&data=AP01
를 주소에 치면
[{"result":1,"cur_unit":"AED","ttb":"319.01","tts":"325.46","deal_bas_r":"322.24","bkpr":"322","yy_efee_r":"0","ten_dd_efee_r":"0","kftc_bkpr":"322","kftc_deal_bas_r":"322.24","cur_nm":"아랍에미리트 디르함"},{"result":1,"cur_unit":"AUD","ttb":"851.34","tts":"868.53","deal_bas_r":"859.94","bkpr":"859","yy_efee_r":"0","ten_dd_efee_r":"0","kftc_bkpr":"859","kftc_deal_bas_r":"859.94","cur_nm":"호주 달러"}]