while(1) work();
반응형

대신증권 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

 

GitHub - kohsuke/com4j: Type-safe Java/COM binding

Type-safe Java/COM binding. Contribute to kohsuke/com4j development by creating an account on GitHub.

github.com

 

다만 다운로드 링크가 사라져서 직접 다운로드는 어렵고

코드를 내려받은 뒤 직접 jar로 패키징 해주어야 한다.

 

우리가 사용할 코드는 tlbimp 디렉토리 안에 있는 코드이다.

이를 maven을 이용해 패키징해주면 아래와 같은 jar파일이  생성된다.

직접 패키징 하기 번거롭다면 아래 jar 파일을 다운로드해서 사용하면 된다.

tlbimp.jar
0.46MB


이제 아래 명령어를 통해 네 개의 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"

 

반응형
profile

while(1) work();

@유호건

❤️댓글은 언제나 힘이 됩니다❤️ 궁금한 점이나 잘못된 내용이 있다면 댓글로 남겨주세요.

검색 태그