develop custom_top_html:no
default debug random = 1 / type = READ / detected = READ / doc_Srl = 10955634

 

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

    정말 감사합니다.
  • profile
    bestbester 2019.03.13 11:03

    이쑤시게 만드는데 전기톱 쓰는 형국입니다.

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

  • ?
    삼량 2019.03.13 12:01
    @bestbester
    낡아서...녹슬고 톱니도 다 빠지고...연료도 없는 전기톱입니다.
  • ?
    삼량 2019.03.13 11:05 Files첨부 (1)

    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

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

    저도 C/C++을 거쳐 C#을 몇 년 쓰다가 node.js로 넘어왔는데 웹 프로그램 짜기에 너무 좋아요.
  • ?
    삼량 2019.03.13 12:58
    @Whoru
    node.js로 좀 짜긴 합니다 ^^ 근데 이게 좀 더 편해서...
  • profile
    coinext 2019.03.13 15:08
    우선은 단지 한부분이 문제가 있어서는 아닌거 같고 몇개의 문제들이 존재하나보네요, 우선 1개잡았고~
    나머지도 찾으시길..
  • ?
    Tobit 2019.03.13 15:10
    payload 부분이 빠진 것 같은데요.. 확인해보세요.
    그리고 전 C로 구현하는것도 괜찮은 선택이라고 봅니다.
  • profile
    coinext 2019.03.13 15:12
    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도 없는거 같고..
  • ?
    삼량 2019.03.13 15:53
    @coinext
    access key, nonce, query는 jwtoken 만들때 보내서 토큰을 생성합니다.
    Authorization: Bearer ... 아래 부분에 토큰이 들어가 있습니다.
  • ?
    빗코매앤 2019.03.13 18:25
    이미 아실 수 있으시겠지만 POSTMAN으로 쉽게 테스트 하실 수 있습니다.
    https://www.getpostman.com/
  • ?
    빗코매앤 2019.03.13 18:27
    @빗코매앤

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

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

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

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


List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
공지 [땡글운영위] 이사진 구성원 변경 공지 8 file 14 821
땡글운영위
2019.09.03
공지 로그인이 안되시는 분은 문의해주시기 바랍니다. 3 4 1724
땡글개발자
2019.08.21
공지 개인 정보 유출에 따른 사과문 54 file 8 3591
땡글개발자
2019.08.21
1613 질문 ganache 와 실제 EVM 의 차이 질문 제가 ganache + remix + web3.js 로 dapp을 만들었는데요,   ganache 위에서 송금을 진행했을때 ganache 인터페이스에서 송금이 3초안에 일어나는걸 확인할 수 있었습니다.   이 dapp을 실제 EVM에 올렸을때는 시간이... 2 805
네탈
2019.03.31
1612 질문 ERC20 스마트컨트렉트 메인넷 배포 방법에 대한 질문 !! 안녕 하세요. 사진에 보시는 바와 같이  솔리디티 로 하여 스마트 컨트렉트 를 구현 하였습니다. 오딧 에서도 통과 를 받아 현재 메인넷에 배포를 하려고 하는데 여기서 문제가 발생하였습니다. 햇갈리실까봐 순번으... 3 file 1149
김승리
2019.03.28
1611 질문 트론 연동해보신 분 계신가요? https://developers.tron.network/reference 트론 공식 문서인거 같은데요..   잘 이해가 안되는게, cli api 호출 대부분이 https://api.trongrid.io 주소로 호출하게 되어있더라구요. 계정생성이나 주소생성, 코인보... 2 1 1074
비폭력무저항
2019.03.27
1610 질문 여기에, 거래소나 가상화폐 개발하시는 분들은...   블록체인이나 가상화폐를 공부해 보려고 여기저기 찾다가 강의를 발견했는데,   Blockchain & Cryptocurrency https://nm.smartlearn.kr/courses/course-v1:POSTECH+DSC503+N901/about   Smart Contracts &... 2 1639
뮈일러
2019.03.25
1609 개발 COSMOS 이더민트를 직접 테스트해봤습니다 그런데.. (수정 추가) 일전에 @꿀맨 님께서 COSMOS 이더민트를 ESN에 적용하는 것이 어떻겠냐는 제안을 주신 적이 있습니다.   며칠 전에 제가 직접 살펴보고 답변을 드렸는데, 땡글에도 글을 올리는 것이 좋을 것 같아서 정리해봅니다.   ... 36 9 5208
ethminer
2019.03.22
1608 개발 거래소를 만들어보고 있습니다. 안녕하세요   오랜만에 땡글에 들러 글을 씁니다.   얼마전부터 혼자서 거래소를 만들어보고 있습니다.   혼자 이것저것 만들려니 여간 힘든게 아니네요   웹 개발자가 아니다보니, 열심히 삽질하면서 만들고 있습니... 12 1 2752
분홍몸매
2019.03.21
1607 개발 삭제한 글입니다 삭제한 글입니다 1066
Xmessiah
2019.03.21
1606 질문 5/15 BCH 하드포크는 필수인거죠? BCH노드를 운영중인데요. 0.19.x로 업그레이드해야하는건 필수인거죠?   BCH는 하드포크를 왜 이리 자주하는지?                   ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 *... 2 1177
ohworld5
2019.03.20
1605 질문 회사가 망하고있습니다..       개인정보 보호로 내용을 삭제합니다.           ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에 적어주세요.   비트코인 암호화화폐 커뮤니티 땡... 9 3638
타겟필수
2019.03.20
1604 질문 비트코인 utxo 관련 질문이 있습니다. ㅠㅠ 예를 들어 A라는 사람이 1비트코인을 보유한 상태에서 B에게 0.5를 보낼경우 utxo가 두개가 생기는데  하나는 A -----> B에게 0.5를 보내는 utxo하나랑 A가 보유하고 있던 1비트코인에서 B에게 송금한 금액 + 수수료... 2 1339
나비잠
2019.03.20
1603 개발 리플 지갑 개발 업체 구합니다.     리플 지갑관련 개발 업체 구합니다.    010 9142 6501 상세문의는 통화로 했으면 합니다.    즐거운 하루 되십시요. ^^                     ------------------------------------- 꼬리말 * 게시글 내용 삭제시... 1111
아치스
2019.03.17
개발 C언어로 UPBIT API를 Curl로 연동중 400 Bad Request Error 발생합니다. 도와주세요.   C 언어로 UPBIT API를 연동중에 있습니다.   다른 조회 값들은 문제 없이 다 잘 불러 옵니다. 그런데, 매수/매도 관련한 /orders 를 호출하면 400 Bad Request 를 리턴해 줍니다.   /account 등을 조회할때 생성하... 23 file 1 1978
삼량
2019.03.13
1601 질문 이더리움 geth 블록 동기화가 안됩니다. geth로 이더리움 서비스를 위해서 테스트 중이고, 실행옵션은 ./geth --syncmode "fast" --cache=4096 --datadir /home/계정/.ethereum --rpc --rpcaddr 0.0.0.0 --rpcapi admin,db,eth,debug,miner,net,shh,txpool,p... 12 2540
비폭력무저항
2019.03.12
1600 질문 버전업데이트로 인한 bitcoin-cli 명령어 질문 0.16 버전으로 다운그레이드 한  bitcoin 를 사용하다가 비트코인 git 의 최신버전인 0.18버전으로 업데이트를 예정중입니다! 버전 업데이트가 되면서 account 기능이 label 로 대체되는것 같더라구요! (ex : listacc... 3 939
이모이모이모
2019.03.12
1599 질문 이더리움 코인 서버 세팅과 관련되어 질문있습니다. 몇 일 전에 키스토어 디렉토리안에 있는 키 파일이 외부에 유출이 됬을 경우를 대비하여   이더리움 스마트 컨트랙트 내에서 데이터를 변경하기 위한 비밀번호를 설정할 수 있는 방법이 없을까?란 주제로 질문을 드렸... 2 863
나비잠
2019.03.11
1598 질문 스마트 컨트랙트내에서 비밀번호를 설정할 수 있을까요?   스마트 컨트렉트에서 선언된 변수에 저장된 데이터를   변경해주는 특정 메소드를 컨트랙트 배포자만 호출이 가능하게 설정을 하더라도   컨트랙트 배포자의 키파일이 복사되어 외부에 유출이 될 경우 컨트랙트 배... 3 703
나비잠
2019.03.08
1597 질문 알트코인 지갑 오픈소스 어떤게 있을까요? 안드로이드용 알트코인 지갑 오픈소스 많이쓰는게 어떤게 있을까요? (너무 복잡하거나 잡다한거 없는게 좋을꺼같습니다 ㅎㅎ) bitcoin-wallet은 빌드해봤습니다.         ------------------------------------- 꼬리... 834
vosiv
2019.03.06
1596 질문 이더스켄 궁금한게있는데요.     안녕하세요. 코인 공부하면서 이것저것 만들어보고있는 초보입니다.   메타마스크 연동해서 코인을 만들어서 개인지갑에  저장까지 했습니다.   그렇다면 이더스캔검색(자동완성?)목록에 심볼명이 검색이 돼야하... 10 1106
심퉁이
2019.03.06
1595 개발 NodeRed를 이용한 시각화툴 Grafana 이용하기 비트코인 모니터링 시스템으로 Grafana를 활용하고 있습니다.   본인만의 모니터시스템을 구현하고자 하는 분들은 영상 확인해보시기 바랍니다.   Grafana로 구현중인 내용은 1. 거래소별 비트코인 가격을 같은 그래... 3 file 4 1549
까치섬
2019.03.06
1594 개발 [강좌] 이더소셜 PHP API 서버 만들기 #8. 트랜잭션 전송하기 안녕하세요. 쌩광부입니다.   지난 강좌 https://steemit.com/@topmining https://www.ddengle.com/@TopMining   전체 소스 https://github.com/topmining/ethersocial-php-api   이번 강좌는 이더소셜 PHP API 서버 ... 2 8 1955
쌩광부
2019.03.05
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 85 Next
/ 85

개인 정보 유출에 따른 안내

개인정보 유출에 따른 사과문

https://www.ddengle.com/board_free/11420106

8월20일 땡글 해킹사고 경과 보고

https://www.ddengle.com/board_free/11420345

로그인이 안되시는 분

https://www.ddengle.com/board_free/11420465
8월18일~20일 해커에 의해 땡글 사이트에서 땡글 회원님들의 아이디 및 비밀번호가 유출되고 있음을 발견하였습니다.
더이상 피해가 발생하지 않도록 조치된 상태이나 일부 사용자의 개인정보가 유출되었으며, 해커는 추가적으로 사용자 정보를 불법적으로 공개하겠다고 합니다.
  • 최근에 접속한 사용자의 경우 ID와 비번이 유출되었을 가능성이 높습니다. 최대 비번을 꼭 바꿔주시기 바랍니다. (특히 8월부터 8월21일까지)
  • 최근에 접속하지 않은 사용자의 경우에도 해커는 사용자 정보를 입수하여 그 일부 정보를 불법적으로 공개하였습니다.
  • 해커에 의한 사용자 도용을 방지하고자, 최근 수개월간 비번 변경을 하지 않은 약 1만8천명의 사용자를 이용정지시켰습니다.
이 글을 보시는 땡글 유저분은 자신이 계정이 정지된 상태라면 [email protected] 혹은 [email protected] 으로 메일주셔서 자신임을 간단히 인증하여 다시 계정을 활성화시키는 해킹 안내메일을 받으시기 바라며, 혹은 기존 계정 삭제 요청을 해주시기 바랍니다.
Close