1

Ограничение длины запроса из-за большого размера json

Topic: Ограничение длины запроса из-за большого размера json

Добрый день!

Есть определенный формат команд: http://sdk.wialon.com/wiki/ru/local/rem … /reqformat

Произошла такая ситуация, что мы упёрлись в ограничение длины запроса из-за большого размера json в параметре params. Вопрос следующего характера, возможно ли как-нибудь передать params не в URL, а в теле POST-запроса, чтобы обойти это ограничение?

2

Ограничение длины запроса из-за большого размера json

Re: Ограничение длины запроса из-за большого размера json

Добрый день

Все запросы осуществляются только методом POST.

Метод POST для запросов является требованием документации. GET поддержан для удобства и совместимости.

Конкретная реализация зависит от языка разработки (был опыт с php, python, NodeJS)

3

Ограничение длины запроса из-за большого размера json

(edited by Polyakov Sergey 10/12/2015 14:47:15)

Re: Ограничение длины запроса из-за большого размера json

shmi вопрос немного в другом был.

Вот пример запроса, который сейчас производится: https://hst-api.wialon.com/wialon/ajax. … mp;params=[{"svc":"messages/load_last","params":{"itemId":3626488,"lastTime":1443657600,"lastCount":1,"flags":0, и т.д.

То есть параметры передаются в json прямо в URL. Интересует возможность передачи параметров в теле POST запроса, чтобы не упираться в максимальную длину URL.

4

Ограничение длины запроса из-за большого размера json

Re: Ограничение длины запроса из-за большого размера json

Polyakov Sergey wrote:

Интересует возможность передачи параметров в теле POST запроса, чтобы не упираться в максимальную длину URL.

Такая возможность есть, более того она является крайне рекомендуемой.

Пример реализации отправки POST запросов на Wialon на NodeJS (первое, что удалось найти).

var request = require('request');

var token = 'TOKEN';

request.post({
    url: 'https://hst-api.wialon.com/wialon/ajax.html',
    form:{
        svc: 'token/login',
        params: '{token:"' + token + '"}'
    }
}, function() {
    console.log(arguments)
});

Если нужна дополнительная помощь, приложите, пожалуйста, кусочек кода, отвечающего за отправку запросов.