В процессе загрузки ресурсов... загрузка...

Решение для отправки сообщения с просьбой http от администратора

Автор:Изобретатели количественного измерения - мечты, Создано: 2020-09-23 16:24:42, Обновлено: 2023-09-27 19:37:55

img

Решение для отправки сообщения с просьбой http от администратора

При тестировании, дешифровке кода политики, при работе на диске бота часто встречаются ситуации, когда сообщения об ошибках интерфейсов биржи, при этом для запроса документации об API интерфейсов биржи, для запроса соответствующей информации об ошибках, для консультации технического обслуживания API биржи всегда необходимо предоставить сообщение о запросе об ошибках, чтобы проанализировать причину ошибки.

В этой статье мы рассмотрим два решения, которые помогут решить проблему, если вы не можете найти информацию в газете.

1, с помощью Python скапи-скрепер распечатывает запрос на отправку

Сначала установкаscapyМодуль

pip3 install scapy 

И тогда мы создаем стратегию 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")

Затем создается бот, использующий эту политику, который захватывает 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()
}

Например, в одном из писем, опубликованном в Twitter, говорится:img

Мы можем скопировать и просмотреть статью: В сообщении 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В частности, на сайте компании появилась информация о том, что на сайте компании появилась информация о продажах постоянных контрактов на BTC.

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(Демонстрация, не KEY) Подпись на запрос:h1x6f80rhhkELobJcO1rFyMgUUshOlmgjRBHD+pLvG0=API KEY парольный ключ Passphrase:abc123(Демонстрация) Запрошенные данные тела:{"aaa":"111","bbb":"222"}

Это позволяет наблюдать за сообщениями запросов и анализировать причины, по которым запросы на интерфейсе испытывают ошибки.

2. Запрос на местное прослушивание

Во-вторых, не нужно создавать роботов, используя Apple Computer Mac Self-Caring.Netcat : https://baike.baidu.com/item/Netcat/9952751?fr=aladdin≈ прослушивать просьбы и печатать новости.

Использование команды в терминалеnc -l 8080Например, в сети Netcat.com.

Например: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


Связанные

Больше