develop custom_top_html:no
default debug random = 0 / type = READ / detected = READ

 

C 언어로 UPBIT API를 연동중에 있습니다.

 

다른 조회 값들은 문제 없이 다 잘 불러 옵니다.

그런데, 매수/매도 관련한 /orders 를 호출하면 400 Bad Request 를 리턴해 줍니다.

 

/account 등을 조회할때 생성하는 jwt 나 인증등은 정상 동작합니다.

 

/orders관련해서 이렇게 만들었는데...

 

    /* 토큰 생성부분 */

    /* 아래는 테스트를 위한 값입니다 */
    sprintf(szQuery, "market=%s&side=%s&volume=%s&price=%s&ord_type=%s", "KRW-MOC", "ask", "1000.000", "100.000", "limit");    
    fn_UrlEncode(szQuery, szEnCode);     //POST데이터를 URL Encoding 합니다. 
    szJwToken = fn_GetJwToken(szEnCode);     

 

   /* POST 데이터의 JSON형태 설정. */

    sprintf(szPostData, "{\"market\":\"%s\",\"side\":\"%s\",\"volume\":\"%s\",\"price\":\"%s\",\"ord_type\":\"%s\"}", "KRW-MOC", "ask", "1700.000", "180.0000", "limit");
    responseData = fn_HandleUrlAuth(REQUEST_URL,szJwToken, szPostData, POST);

 

 

   /* CURL로 데이터 보내는 부분. */

            curl_slist_append(headers, "Accept: application/json");
            curl_slist_append(headers, "Content-Type: application/json");
            headers = curl_slist_append(headers, szToken);
            curl_easy_setopt(curl,CURLOPT_HTTPHEADER, headers);
            curl_easy_setopt(curl, CURLOPT_HEADER, 1);    
            curl_easy_setopt(curl, CURLOPT_POST, 1);
            curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, strlen(szPostData));
            curl_easy_setopt(curl, CURLOPT_POSTFIELDS, szPostData);
            curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
            curl_easy_setopt(curl, CURLOPT_WRITEDATA, &data);

 

이런 상황인데... 계속해서 400(BAD Request) 에러가 발생합니다. 
고수님들의 조언을 기대합니다. 제발 도와 주세요... 

 

나가는 데이터를 캡처해 보면 이렇게 나옵니다. 

117be79a27a810cc6726557b744110ff.png

 

 

   

 

 

 

 

-------------------------------------

꼬리말

* 게시글 내용 삭제레벨 강등

* 질문은 각 주제별 게시판에 적어주세요.

 

비트코인 암호화화폐 커뮤니티 땡글~ 땡글~

-------------------------------------

242
댓글 24
  • ?
    참고로...POST BODY에 보내는 데이터를 URL ENCODE 해서 보내보기도 했습니다. 똑같이 400에러가 발생합니다.
  • @삼량
    삼량님 축하합니다. 4 보너스 캐시에 당첨되셨습니다.!!
  • contents-type이 application/json으로 안먹고, www-form-url타입으로 나가서 그런거 같습니다.
  • ?
    @coinext
    하...이건 어떻게 수정해야 할까요?
  • ?
    @coinext
    조금 더 가야하지만...정말 큰 도움 되었습니다.
    패킷을 오래 꼼꼼히 보고 있었는데...저건 정말 못봤습니다. 웹알못 이기도 하지만...

    정말 감사합니다.
  • 이쑤시게 만드는데 전기톱 쓰는 형국입니다.

    C언어가 강력하긴 하지만 API 프로그램 만드는데 좋은지는 모르겠네요.

  • ?
    @bestbester
    낡아서...녹슬고 톱니도 다 빠지고...연료도 없는 전기톱입니다.
  • ?

    curl header 설정 부분이 잘못되어 있었습니다.
    본문중 아래 코드는 잘못된 코드 입니다.
    curl_slist_append(headers, "Accept: application/json");
    curl_slist_append(headers, "Content-Type: application/json");


    아래처럼 수정 했습니다.
    headers = curl_slist_append(headers, "Accept: application/json");
    headers = curl_slist_append(headers, "Content-Type: application/json");
    headers = curl_slist_append(headers, "charsets: utf-8");

    좀전과는 다르게, Content-Type이 json형태로 잘 갑니다.
    그런데...400에러는 동일합니다. ㅠㅠ

     

    b432eba27d41a167a9c892a0dcb86e61.png

  • @삼량
    upbit 은 파라미터 규격이 조금만 달라도 400 에러 리턴합니다.
    종목 별 수량, 가격 단위가 잘 못 되었는지 먼저 확인하세요.
  • ?
    @bestbester
    말씀하신 내용 모두 다 확인했지만...잘못된 내용은 없습니다. 여러차례 확인 했습니다. ㅠㅠ
  • @삼량
    네, 더 얘기 안하겠습니다. 시행 착오를 통해 배우는 거죠.
    프로그램 환경이 이제는 예전하고 많이 다릅니다. node.js python 등등 새로 배우는 게 c 언어로 고생하는 것보다 좋을 겁니다.
  • ?
    진지하게 조언드립니다만, node.js 공부해보세요. 새로운 세상이 열릴겁니다.

    저도 C/C++을 거쳐 C#을 몇 년 쓰다가 node.js로 넘어왔는데 웹 프로그램 짜기에 너무 좋아요.
  • ?
    @Whoru
    node.js로 좀 짜긴 합니다 ^^ 근데 이게 좀 더 편해서...
  • 우선은 단지 한부분이 문제가 있어서는 아닌거 같고 몇개의 문제들이 존재하나보네요, 우선 1개잡았고~
    나머지도 찾으시길..
  • ?
    payload 부분이 빠진 것 같은데요.. 확인해보세요.
    그리고 전 C로 구현하는것도 괜찮은 선택이라고 봅니다.
  • https://docs.upbit.com/v1.0.1/reference#%EC%A3%BC%EB%AC%B8-%EA%B0%80%EB%8A%A5-%EC%A0%95%EB%B3%B4

    실제 UPBIT쪽 문서를 보면 요청데이터를 잘못날리시는거 같습니다.
    nonce도 없는거 같고..
  • ?
    @coinext
    access key, nonce, query는 jwtoken 만들때 보내서 토큰을 생성합니다.
    Authorization: Bearer ... 아래 부분에 토큰이 들어가 있습니다.
  • ?
    이미 아실 수 있으시겠지만 POSTMAN으로 쉽게 테스트 하실 수 있습니다.
    https://www.getpostman.com/
  • ?
    @빗코매앤

    추가로, Fiddler를 사용해서 내 프로그램과 API 서버 사이에 주고 받는 httpS 요청/응답의 header, body 모두 확인 가능합니다.
    https://www.telerik.com/fiddler

  • ?
    @빗코매앤
    이런 훌륭한 도구를 알려주셔서 마음속 깊이 감사 드립니다.
    덕분에...매매 API성공했습니다.

    님이 알려준 이 툴이 아니었다면 발견하지 못했을 겁니다.
    이걸로 보내고...fiddler로 패킷 비교해서 제가 잘못한 부분을 찾았습니다.
  • ?
    @빗코매앤
    하트 100개를 보내고 싶으나...하나 밖에 못드리네요.
  • ?
    아침에 기분좋게 push 하고 출근 합니다. 룰루 랄라~
  • ?
    @삼량

    성공하셨다니 다행이네요~ 매매 프로그램으로 돈 많이 버세요~!

  • ?
    저도 똑같이 c언어로 libcurl포팅해서 만들고 있는데요~!
    혹시 뭐가 문제였나요??ㅜ 저는 jwt의 query검증에 실패했다고 나오는데 원인을 모르겠네요 ㅜㅜ
    url인코딩까지 해서 정상적으로 보내고있는데..
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
1801 개발 고민중에 글 남겨 봅니다. 업비트 자동매매 프로그램         안녕하세요... 아직 1년도 안된 채린이 입니다.    유튜브 보다가 채굴기 알게 되어 지금은 이더 50대 돌리고  있습니다.    코딩을 좀 할 줄 알아서 파이선으로 업비트 api 자동매매 프... 20 1 4614
상운
2021.12.25
1800 개발 [UPBIT] 보조지표(RSI/Bollinger Bands) 스캘핑 봇 / 알리미 개발   - RSI/Bollinger Bands 알리미 - *과부화 방지로 최대 10개까지 셋팅 가능 - 음성알림과 텔레그램 알림 설정 가능     - RSI/Bollinger Bands 스캘핑 봇 - *과부화 방지로 최대 10개까지 셋팅 ... 2 file 1 1386
더블코어
2021.12.23
1799 개발 [정보공유] Log4j 취약점 관련 - 업데이트를 권장드립니다. 서버 관리자중에 아직 "Log4j 취약점" 관련 부분을 인지하지 못하신분들께 공유차 글을 씁니다.   관련사항 위험도 10 취약점 , 업데이트 안된 log4J를 쓰는 경우 임의의 문구를 사용하면 원격에... 6 file 5 8860
천재성곤
2021.12.11
1798 질문 AI TRADING DEV     AI 모델링 개발 해보려 하는데.. 참고할만한 것 머좀 있을까요.?   db에 데이터 저장은 지금 열띠미 하고 있는 중임다.                     file 0 703
잡앤엔조이
2021.12.07
1797 개발 개발회사를 운영하고 있습니다~ 채굴에 필요하신 개발 의뢰 받으려고 합니다. ^^ 개발회사를 운영하고 있습니다~   RA 개발회사를 운영하면서 주식 / 원자재 분야 가격 예측 솔루션을 가지고 있고,   웹 기반의 여러 솔루션 제작이 가능합니다.   필요하신 분에게 개발 의뢰를 ... 5 1 1702
jhyun
2021.11.29
1796 질문 윈도우 채굴 모니터링 프로그램 모니터링을 하려면 프로그램상에서 통신을 해줄 수 있도록 해주어야 합니다.  그런데 문제는 모니터링 프로그램은 화면을 캡쳐해서 전송하는 방식이기 때문에 그래픽카드 자원을 사용할 수 밖에 ... 9 2 1954
를르랄라
2021.11.03
1795 질문 Pc방에서 사용할껀데 어떤카드? Pc방에서 돌릴예정인데요.. ( 아마 땡글에도 피씨방 운영하시면서 채굴하시는분 많으신걸로...) 채굴겸 광고 하면서 운영할 생각이구요. . 현재 non 3070으로 40장 정도로 채굴은 하는중이에요..... 28 1 1337
라지라지
2021.10.27
1794 개발 [코인원] 코인 송금 API 동작       안녕하세요.  선배님들... 코인 송금 기능을 구현하고 있는데요. 코인원의 송금  api 를 이용하여 송금을 테스트하고 있는데요. 좀 어렵네요.   1. btc 송금만 되는 것 같은데...  다른 코... 0 646
부자아들
2021.10.19
1793 개발 TEO, GGoletn, TEOMiner 를 멀티 알고리즘 마이너로 바꾸려고 하는데, 참여하실분 .   TEO 관련 이전글 : https://www.ddengle.com/mining/13456002    TEOMiner 를 멀티 알고리즘 마이너로 바꾸려고 하는데, 참여하실분 .  https://github.com/tao-foundation/teominer   현재, ... 4 5 868
안씨아저씨
2021.09.25
1792 개발 이더리움 풀노드 자료 제공 ETH GETH FULL NODE 이더리움 풀노드 전체 데이타 드립니다. 이더리움 풀노드 구축해드려요.   이더리움 풀노드 구축시에  geth 로 다운로드 받을 시 20일 정도 걸리실텐데요, 24시간내에 구축할 수 있게 데이타 보... 8 0 1330
김대박
2021.07.28
1791 개발 ERC721(NFT) 토큰을 사용하는 방법에 대한 문의입니다.     안녕하세요? 항상 땡글에서 많은 도움을 받고 있습니다. 감사합니다.   제가 요즘 NFT 토큰을 개발중인데요, 신규 발행은 문제 없고, remix 에서 토큰 전송도 다 잘 됩니다. 메타마스크에서 ... 6 1 936
비폭력무저항
2021.07.15
1790 개발 토큰 활용하기 좋은 코인 계열 뭐가있을까요??     트론 고려중인데   속도 빠르고 수수료 더 적은 코인 있을까요??                 2 0 655
에피쳐
2021.07.13
1789 질문 rx580 8g 6way 전기질문점요             위 구성으로 진행한다면 전기료가 얼마나 나올까요? 일반 사무실 기준 아무것도 안썼을때 1대 기준입니다.           7 0 785
유리압
2021.07.08
1788 질문 반본체사양~         신입채린이입니다..  반본체를 구하고 있는데 추천해주실 제품이 있을까요~~               2 1 670
유리압
2021.07.08
1787 개발 Qt 코인 지갑 실행 파일로 만들기 Qt로 만들어진 코인 지갑을 배포용 실행파일로 만들려고 하는데 만드는 방법을 몰라 이렇게 글을 올립니다. 현재 라이트코인 소스를 통해 코인을 만들었고 Qt로 만들어진 코인 지갑(GUI)도 생성... 1 0 458
썬샤인
2021.07.05
1786 개발 최신 비트코인 & 라이트코인 소스로 하드포크   안녕하세요! 독학으로 깃허브의 알트코인 오픈소스를 이용해 나만의 코인을 만드는 일에 도전하고 있는 신참 땡글인입니다.   비트코인이나 라이트코인 소스로 하드포크해서 나만의 코인 만들... 7 1 1043
썬샤인
2021.06.16
1785 개발 라이트코인 오픈소스로 나만의 코인 만들기 (질문) 안녕하세요! 땡글닷컴 땡글인 여러분... 땡글닷컴에 들오온지 얼마 안되는 신참입니다.  여러 땡글인 고수분들의 도움을 받고자 이렇게 글을 올립니다.   제가 지금 라이트코인(Litecoin)0.8.4 ... 19 file 0 1324
썬샤인
2021.06.16
1784 질문 크몽에 들어가면...이더리움 기반 토큰개발을 해주는 서비스가 있습니다.     https://kmong.com/gig/192710   위 링크 입니다. 몇개 업체가 있습니다.   비용은 제작비용 + 0.5이더 가 듭니다.   혹시 위와 같은 ERC-20기반 코인을 개발해보신적이 있으시거나..   또는... 4 0 1171
준표
2021.06.09
1783 질문 채굴, 전송수수료 없는 코인이 뭐있을까요?     토큰을 하나 만들어보려고 합니다. 채굴, 전송수수료 없이 리플코인처럼 지갑에서 배포하고 싶은데 적절한 메인넷이 뭐가 있을까요??                   0 706
체어킹
2021.06.05
1782 질문 erc20 기반 코인 제작 후, 에어드랍 시 가스비 질문입니다.     안녕하세요. 가스비에 대해서 질문드릴게 있습니다. 가스가 코인을 보낼 때에 생기는 수수료 개념으로 알고 있는데요.     이더리움 기반의 ERC20 코인 만드는 법 쉽게 따라하기 (이보다 더 ... 4 2 1023
체어킹
2021.05.31
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 93 Next
/ 93
default debug random = 0 / type = READ / detected = READ