대신증권 API는 dll 형식으로 제공되기 때문에 C#이나 VB에서 사용 가능하다.
파이썬에서는 pywin32 (win32com) 라이브러리를 사용해서 API를 호출할 수 있다.
여기까지가 대신증권에서 공식적으로 지원하는 언어이고
JAVA는 우회적인 방법을 사용해야 한다.
먼저 대신증권 Cybos Plus를 설치해야한다.
Cybos를 설치한 뒤 실행하면 로그인 화면에서 Cybos Plus를 눌러 설치할 수 있다.
설치가 완료되면 C:\DAISHIN\CYBOSPLUS 경로에 dll 파일들이 잔뜩 생겨난다.
여기서 일반적으로 필요한 dll은 cpdib.dll, cpsysdib.dll, cptrade.dll, cputil.dll 네 가지이다.
이제 JAVA에서 dll을 사용하기 위해 dll들을 JAVA class로 변환해야 한다.
찾아보니 여러 변환 툴들이 존재하였으나, 무료이면서 간편하게 변환만 할 수 있는 툴은 COM4J가 가장 좋아보였다.
https://github.com/kohsuke/com4j
다만 다운로드 링크가 사라져서 직접 다운로드는 어렵고
코드를 내려받은 뒤 직접 jar로 패키징 해주어야 한다.
우리가 사용할 코드는 tlbimp 디렉토리 안에 있는 코드이다.
이를 maven을 이용해 패키징해주면 아래와 같은 jar파일이 생성된다.
직접 패키징 하기 번거롭다면 아래 jar 파일을 다운로드해서 사용하면 된다.
이제 아래 명령어를 통해 네 개의 dll 파일을 각각 변환해주면 준비는 끝이 난다.
java -jar tlbimp.jar -o . -p daishin.cpdib "C:\DAISHIN\CYBOSPLUS\cpdib.dll"
java -jar tlbimp.jar -o . -p daishin.cpsysdib "C:\DAISHIN\CYBOSPLUS\CpSysDib.dll"
java -jar tlbimp.jar -o . -p daishin.cptrade "C:\DAISHIN\CYBOSPLUS\cptrade.dll"
java -jar tlbimp.jar -o . -p daishin.cputil "C:\DAISHIN\CYBOSPLUS\cputil.dll"
'언어 > JAVA' 카테고리의 다른 글
이상하고 아름다운 JAVA 퀴즈 1 (0) | 2023.03.13 |
---|---|
SOLID 원칙과 구체적인 예시 (0) | 2023.03.09 |
Spring Security JWT 인증 잘 정리된 블로그 (0) | 2022.12.20 |
VSCode Kotlin 프로젝트 셋팅 (0) | 2022.11.22 |
대신증권 API JAVA에서 사용하기 (2) (2) | 2022.02.25 |