1. 국세청 사이트는 IE 전용이라 날 귀찮게 함.
2. 참고 또 참고 했지만, 역시 결국 귀찮음.
3. 에라이 개발해보자!!
4. 일단 있는거 있음 날로 먹기로 결심
5. 절라 구글링 해도 안나오거나, 뭔 놈의 유료로 파는 것만 발견.
6. 국세청 사이트의 해당 서비스를 분석
7. 결국은 서블릿 호출 + XML 전문통신
8. 간단하게 하기 위해서 ASP로 개발. (Java도 마찬가지 임.. 귀찮아서 개발 안함.)
9. 이하 소스
10. 퍼갈땐 출처 좀 밝혀 주길..(혹시 알어... 출세할지.. 불펌하면.. 혼내줄꺼임!)
11. git 에도 추가 (https://github.com/jaymz9634/retcompanystatus)
--------------------------------------------------------------------
2020-03-03 내용 추가:
국세청에서 과도한 접근에 대한 금지를 해놨음.
자체 테스트 해봤을때 한번에 30건 정도 조회하고 1분 쉬었다가 요청하면 문제없이 처리 됨을 확인.
내 경우에는 java로 구현해서 thread.sleep 으로 30건 마다 1분씩 쉬게해서 처리 완료.
<% Session.CodePage = 949 Response.Charset = "euc-kr" '결과가 한글이기에 안 깨지게...' 'On Error Resume Next' txprDscmNo = Request("txprDscmNo") xmldata = xmldata & "<map id='ATTABZAA001R08'><pubcUserNo/><mobYn>N</mobYn><inqrTrgtClCd>1</inqrTrgtClCd><txprDscmNo>"&txprDscmNo&"</txprDscmNo><dongCode>05</dongCode><psbSearch>Y</psbSearch><map id='userReqInfoVO'/></map>" set api = createobject("msxml2.serverXmlhttp") api.open "POST", "https://teht.hometax.go.kr/wqAction.do?actionId=ATTABZAA001R08&screenId=UTEABAAA13&popupYn=false&realScreenId=", false api.setRequestHeader "content-type","text/xml; charset=utf-8" api.send xmldata if api.status = 200 Then Response.ContentType="text/xml" Response.Write(api.ResponseText) else Response.Write("[statusCode : "&api.status&"]" & "<br/>") Response.Write("<hr/>") Response.Write(xmldata & "<br/>") Response.Write("<hr/>") Response.Write(api.responseText & "<br/>")' End if If Err.number <> 0 Then '오류 발생 시 이 부분 실행 Response.Write "<b3>" & Err.Source & "<hr noshade></h3>" Response.Write "오류 번호 : " & Err.number & "<br>" Response.Write "내용 : " & Err.Description & "<br>" End If Set api = nothing %>
고맙습니다. 잘 사용할께요.
답글삭제도움이 됐으면 좋겠네요.. ^^
삭제정말 좋은 정보 감사합니다. 근데 간헐적으로 조회가 안될 때가 있네요ㅠ.. 잘 되다가 어느 순간 다시 조회하면 결과를 가져오지 못하는데 혹시 해결 방법이 있을까요..?
답글삭제에러 로그나 HTTP STATUS 같은 코드 값을 확인해 보세요.
삭제안녕하세요 위의 API가 어떤 모습으로 보여지는지 확인해보고 싶은데 캡처된 화면 같은건 없을까요?
답글삭제단순한 XML 형태의 전문통신입니다...
삭제안녕하세요 은행을 다니는 막 코딩을 시작한 사람입니다.
답글삭제회사에서 사용하기 위한 프로그램을 개발해보려하다가 미리 만들어주신 코드를 발견했습니다.
아직 주피터로 파이썬밖에 몰라 여쭤봅니다.
혹시 java로 작성하신 저 코드를 python으로 변환한다면 구동이 가능할까요~?
파이썬을 대충 공부해서리.. 된다 안된다라는 답변은 어렵고..
답글삭제프로그램 원리를 파악하신다면 어떤 언어든 구현 못할 건 없다란게 제 지론입니다.
기본 원리는 xml 통신을 사용하여 서버에 결과를 요청하고 반환된 결과 xml을 parse 하시면 됩니다.
파이썬이 제가 말씀드린
1. xml 통신
2. xml 파싱
이 안될리가 없을 것으로 알고 있습니다. 차근차근 해보시면 좋은 결과가 있으리라 생각합니다.. ^^
같은 루트로 구글링 하다가 여기까지 오게 되었습니다. 잘사용하겠습니다.
답글삭제좋은 결과 있길 바랍니다.. ^^
삭제작성하신 코드를 바탕으로 python으로 재작성했네요 ㅎ
답글삭제도움받은 부분은 url & xml 데이터 부분이었습니다. 감사합니다 ㅎㅎ
거의 비슷한 이유로 결국 재작성까지 해서 살짝 귀찮았지만,
국세청에서 API로 제공해주면 좋지 않을까 하는 생각을 가져봅니다
저도 왜 요딴건 API 제공 안해주는지 참 아쉽습니다.. ^^
삭제