এক্সচেঞ্জ ইন্টারফেস এপিআই ডকুমেন্টেশন অনুসন্ধান করার জন্য, সম্পর্কিত ত্রুটি তথ্য অনুসন্ধান করার জন্য, এক্সচেঞ্জ এপিআই প্রযুক্তিগত গ্রাহকদের সাথে পরামর্শ করার জন্য, এক্সচেঞ্জ ইন্টারফেস এপিআই ডকুমেন্টেশন অনুসন্ধান করার জন্য, রিয়েল-ডিস্ক রোবট চালানোর সময়, প্রায়শই এক্সচেঞ্জের ইন্টারফেস এপিআই ত্রুটি রিপোর্টের অনুরোধের অনুরোধটি সরবরাহ করা প্রয়োজন।
এই সময়ে সংবাদপত্রের খবর না দেখলে কোন সমস্যা নেই, এবং এই নিবন্ধে আমরা দুটি সমাধান নিয়ে আলোচনা করব।
প্রথমে ইনস্টল করুনscapy
মডিউল
pip3 install scapy
তারপর একটি পাইথন কৌশল তৈরি করুনঃ
from scapy.all import *
def Method_print(packet):
ret = "\n".join(packet.sprintf("{Raw:%Raw.load%}").split(r"\r\n"))
Log(ret)
sniff(
iface='eth0',
prn=Method_print,
lfilter=lambda p: "GET" in str(p) or "POST" in str(p),
filter="tcp")
তারপর একটি বট তৈরি করুন যা এই নীতিটি ব্যবহার করে, যা হোস্টের সার্ভার থেকে প্রেরিত একটি HTTP প্যাকেজ (https এর জন্য কিছু প্রক্রিয়া আছে) ।
এই প্যাকেজ ক্র্যাপিং বটটি চালু করুন, তারপর ডিবাগিং টুল ব্যবহার করে অনুরোধ পাঠাতে পারেন, যাতে বটটি প্যাকেজটি ক্র্যাপ করে।
function main(){
// 要把基地址设置为其它http协议的地址,如果不设置交易所的地址一般都是https,这样是抓不到包的
exchange.SetBase("http://www.baidu.com")
// POST 请求
exchange.IO("api", "POST", "/api/swap/v3/order", "aaa=111&bbb=222")
// GET 请求
exchange.SetContractType("swap")
exchange.GetTicker()
}
রোবটের মাধ্যমে ছাপানো বার্তাঃ
আমরা এই নিবন্ধটি অনুলিপি করতে পারি এবং এটি দেখতে পারিঃ GET-এর অনুরোধের প্রতিবেদনঃ
GET
/api/swap/v3/instruments/BTC-USD-SWAP/ticker
HTTP/1.1
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 Accept-Encoding: gzip
Host: www.baidu.com
কিন্তু আমরা যদি এই বিষয়গুলোকে গুরুত্বের সাথে নিই, তাহলে আমরা বুঝতে পারবো যে, আমরা এই বিষয়গুলোকে গুরুত্বের সাথে নিচ্ছি।Host: www.okex.com
আপনি দেখতে পাচ্ছেন যে অনুরোধ পত্রিকায় লিঙ্কটি রয়েছেঃ/api/swap/v3/instruments/BTC-USD-SWAP/ticker
বিটিসি-র জন্য স্থায়ী চুক্তির বাজারের তথ্যের জন্য অনুরোধ করা হচ্ছে।
POST-এর জন্য অনুরোধঃ
POST
/api/swap/v3/order
HTTP/1.1
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
Content-Length: 25
Content-Type: application/json; charset=UTF-8
Ok-Access-Key: d487230f-ccccc-aaaaa-bbbbb-268fef99cfe4
Ok-Access-Passphrase: abc123
Ok-Access-Sign: h1x6f80rhhkELobJcO1rFyMgUUshOlmgjRBHD+pLvG0=
Ok-Access-Timestamp: 2020-09-23T08:43:49.906Z Accept-Encoding: gzip
{"aaa":"111","bbb":"222"}
আপনি দেখতে পাচ্ছেন যে অনুরোধের পথটি হলঃ/api/swap/v3/order
◄
অ্যাক্সেস কী যাচাই করুনঃd487230f-ccccc-aaaaa-bbbbb-268fef99cfe4
(প্রদর্শনীয়, সত্যিকারের কী নয়)
এই অনুরোধের স্বাক্ষরঃh1x6f80rhhkELobJcO1rFyMgUUshOlmgjRBHD+pLvG0=
এপিআই কী পাসফ্রেজঃabc123
(উপস্থাপনা)
বডি ডেটা অনুরোধ করা হয়েছেঃ{"aaa":"111","bbb":"222"}
。
এটি অনুরোধের বার্তাগুলি পর্যবেক্ষণ করতে এবং ইন্টারফেস অনুরোধের ত্রুটির কারণগুলি বিশ্লেষণ করতে সহায়তা করে।
দ্বিতীয় পদ্ধতিটি হচ্ছে, রোবট তৈরি না করে অ্যাপল কম্পিউটারের ম্যাকের সাথে একটি মেশিন তৈরি করা।Netcat
: https://baike.baidu.com/item/Netcat/9952751?fr=aladdin☞ অনুরোধগুলি শোনার জন্য এবং সংবাদপত্রগুলি মুদ্রণ করার জন্য।
টার্মিনালে, কমান্ড ব্যবহার করুনnc -l 8080
এটি নেটকাট চালায়।
ছবিঃ
একইভাবে, আমরা একটি হোস্টকে স্থানীয়ভাবে স্থাপন করি এবং তারপর ডিবাগিং টুলের মধ্যে নিম্নলিখিত কোডটি ব্যবহার করে অনুরোধটি প্রেরণ করি।
function main(){
exchange.SetBase("http://127.0.0.1:8080") // 这里把基地址改为本机,端口8080,Netcat 就可以监听到请求了
// POST 请求
exchange.IO("api", "POST", "/api/swap/v3/order", "aaa=111&bbb=222")
// GET 请求
exchange.SetContractType("swap")
exchange.GetTicker()
}
টার্মিনালে প্রিন্ট করা পোস্ট অনুরোধ বার্তাঃ
টার্মিনালে প্রিন্ট করা জিইটি অনুরোধ বার্তাঃ