Как использовать API, такой как VNDB?

Я привык отправлять запрос на конечную точку с методом и любыми другими параметрами, которые мне нужны, например. axios({ method: `get`, url: `https://foo.bar/baz&q=123`}).

Однако я наткнулся на этот API https://vndb.org/d11 с документами, не указывающими ни метод, ни URL-адрес (помимо хоста, которого, как я полагаю, недостаточно?), куда я должен отправить свой запрос, так как я должен получить из него какие-либо данные? Можно ли получить к нему доступ через Postman или что-то в этом роде?

Host api.vndb.org
Port (plain tcp) 19534 ('VN')
Port (TLS) 19535

Пример сообщения запроса выглядит так:

login {
  "protocol" : 1,
  "username" : "ayo"
 }
0x04

0x04 - но это даже не похоже на JSON, так как мне его отправить?


person chachathok    schedule 04.01.2018    source источник


Ответы (1)


В документации VNDB API говорится:

вся связь между клиентом и сервером осуществляется с использованием одного TCP-соединения. Это соединение остается активным до тех пор, пока оно не будет явно закрыто клиентом или сервером.

так что это не похоже на обычный REST API, где вы GET, POST и т. д. Вы открываете соединение и оставляете его открытым. Он основан на сеансе, поэтому начальная команда входа в систему и байт 0x04 в конце JSON являются

Конец передачи

персонаж. Так что это работает как двухстороннее радио. Вы говорите «логин, более», где «более» — это байт 0x04. Это говорит серверу, что команда ожидает его обработки. Я предполагаю, что без символа 0x04 команда не будет интерпретирована. Это как ввести команду и не нажать клавишу возврата.

Что касается того, как использовать API, вы можете изучить этот клиент NodeJS VNDB.

person codebrane    schedule 04.01.2018