Type/to search
8
Follow
1369
Followers
میزبان کے ذریعہ HTTP درخواست پیغام بھیجنے کا حل حاصل کریں۔
Discussions
Created 2020-09-23 16:24:42  Updated 2023-09-27 19:37:55
 0
 1867

img

میزبان کے ذریعہ HTTP درخواست پیغام بھیجنے کا حل حاصل کریں۔

اسٹریٹیجی کوڈز کی جانچ اور ڈیبگنگ کرتے وقت، آپ کو ایکسچینج انٹرفیس کی طرف سے اطلاع دی گئی غلطیوں کا سامنا کرنا پڑتا ہے، اس وقت آپ کو ایکسچینج API تکنیکی کسٹمر سروس سے مشورہ کرنے کی ضرورت ہوتی ہے۔ ، آپ کو ہمیشہ درخواست کا پیغام فراہم کرنے کی ضرورت ہوتی ہے جب کسی غلطی کی اطلاع دی جاتی ہے، غلطی کی وجہ کا تجزیہ کرنے کے لیے استعمال کیا جاتا ہے۔

اس وقت، اگر آپ پیغام کی معلومات نہیں دیکھ سکتے ہیں، تو آپ کو معلوم نہیں ہوگا کہ مسئلہ کہاں سے تلاش کرنا ہے، ہم دو حلوں پر بات کریں گے۔

1. پیکٹ کیپچر کرنے اور بھیجے گئے درخواستی پیغام کو پرنٹ کرنے کے لیے Python کی scapy لائبریری کا استعمال کریں

پہلے انسٹال کریں۔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 پیکٹوں کو پکڑ لے گا

اس پیکٹ کیپچر روبوٹ کو چلائیں، اور پھر آپ روبوٹ کو پیکٹ کیپچر کرنے کی درخواستیں بھیجنے کے لیے ڈیبگنگ ٹول استعمال کر سکتے ہیں۔ ڈیبگر میں ہم درخواست بھیجنے کے لیے کوڈ لکھتے ہیں۔

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() }

پیکٹ کیپچر روبوٹ کے ذریعہ چھپی ہوئی معلومات:
img

ہم اسے کاپی کر سکتے ہیں اور پیغام پر ایک نظر ڈال سکتے ہیں:
درخواست کا پیغام حاصل کریں:

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، BTC پر مبنی دائمی معاہدہ مارکیٹ ڈیٹا کی درخواست کرنا ہے۔

درخواست پیغام پوسٹ کریں:

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=
API کلیدی پاسفریز:abc123 (مظاہرے کے لیے)
باڈی ڈیٹا کی درخواست کریں:{"aaa":"111","bbb":"222"}

اس طرح، آپ درخواست کے پیغام کا مشاہدہ کر سکتے ہیں اور اس وجہ کا تجزیہ کر سکتے ہیں کہ انٹرفیس کی درخواست میں خرابی کا سامنا کیوں ہوا۔

2. مقامی نگرانی کی درخواست

دوسرا طریقہ روبوٹ کی تخلیق کی ضرورت نہیں ہےNetcat : https://baike.baidu.com/item/Netcat/9952751?fr=aladdin ۔ درخواستوں کی نگرانی کریں اور پیغامات پرنٹ کریں۔

ٹرمینل میں، کمانڈ استعمال کریں۔nc -l 8080، Netcat چلائیں۔

جیسا کہ شکل میں دکھایا گیا ہے:
img

اسی طرح، ہم مقامی مشین پر ایک میزبان تعینات کرتے ہیں، اور پھر ڈیبگنگ ٹول میں درخواست بھیجنے کے لیے درج ذیل کوڈ کا استعمال کرتے ہیں۔

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() }

ٹرمینل پر چھپی ہوئی POST درخواست کا پیغام:
img

ٹرمینل پر پرنٹ شدہ GET درخواست کا پیغام:
img

Related Recommendations
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)