Tài nguyên đang được tải lên... tải...

Giải pháp để có được thư yêu cầu HTTP từ người quản lý

Tác giả:Những nhà phát minh định lượng - những giấc mơ nhỏ, Tạo: 2020-09-23 16:24:42, Cập nhật: 2023-09-27 19:37:55

img

Giải pháp để có được thư yêu cầu HTTP từ người quản lý

Trong quá trình thử nghiệm, điều chỉnh mã chính sách, khi chạy robot trên máy tính thực, thường gặp các trường hợp báo cáo lỗi giao diện giao dịch, khi đó truy vấn tài liệu API giao diện giao dịch, truy vấn thông tin báo cáo liên quan, khi tham khảo dịch vụ khách hàng kỹ thuật API giao dịch, luôn cần cung cấp báo cáo yêu cầu khi báo cáo lỗi, để phân tích nguyên nhân của báo cáo lỗi.

Khi không thấy tin tức, bạn không thể tìm ra vấn đề, và trong bài viết này, chúng tôi cùng nhau xem xét hai giải pháp.

1, Scapy scraper trong Python in báo cáo yêu cầu gửi

Đầu tiên là cài đặtscapyMô-đun

pip3 install scapy 

Sau đó tạo ra một chiến lược Python:

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")

Sau đó, tạo một robot sử dụng chính sách này, và nó sẽ lấy các gói HTTP từ máy chủ của chủ nhà của nó (https không thể lấy được một số xử lý cho điều này).

Sau đó, bạn có thể sử dụng công cụ debugging để gửi yêu cầu và cho robot bắt gói.

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

Thông tin được in bằng robot bắt túi:img

Chúng ta có thể sao chép và xem bài báo: GET yêu cầu báo cáo:

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.comCó lẽ chúng ta không thể bỏ qua những gì chúng ta đang làm để nắm bắt sự thay đổi.Host: www.okex.comBạn có thể thấy một liên kết trong thông báo yêu cầu là:/api/swap/v3/instruments/BTC-USD-SWAP/tickerTrong khi đó, các nhà đầu tư khác cũng muốn tìm hiểu thêm về các giao dịch liên tục của BTC.

POST yêu cầu tin tức:

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"}

Bạn có thể thấy đường dẫn yêu cầu là:/api/swap/v3/order❖ Chìa khóa truy cập được xác minh:d487230f-ccccc-aaaaa-bbbbb-268fef99cfe4(Demonstration, không phải là KEY) Đơn xin ký tên:h1x6f80rhhkELobJcO1rFyMgUUshOlmgjRBHD+pLvG0=API KEY Passphrase:abc123(Demonstration) Dữ liệu cơ thể được yêu cầu:{"aaa":"111","bbb":"222"}

Điều này giúp bạn quan sát được thông báo yêu cầu và phân tích lý do tại sao yêu cầu giao diện gặp lỗi.

2/ Yêu cầu nghe lén tại địa phương

Cách thứ hai, không cần phải tạo robot, sử dụng máy tính của Apple, Mac, để tạo ra một chiếc máy tính.Netcat : https://baike.baidu.com/item/Netcat/9952751?fr=aladdinCác bạn có thể tham gia vào các cuộc phỏng vấn trên mạng xã hội.

Ở đầu cuối, sử dụng lệnhnc -l 8080, chạy trên Netcat.

Dưới đây là hình:img

Tương tự như vậy, chúng ta triển khai một host trên máy tính của mình, sau đó trong công cụ gỡ lỗi, sử dụng mã sau đây để gửi yêu cầu.

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

Trong khi đó, một số người khác cũng đã bị ảnh hưởng bởi các thông tin trên.img

GET yêu cầu tin nhắn được in trên thiết bị đầu cuối:img


Có liên quan

Thêm nữa