Poco HTTPClientSession добавление заголовков в HTTPRequest

Попробуйте отправить метод POST на сервер, используя JSON. Но сервер также требует model, platform and platform version в качестве заголовков на запрос. Как я могу добавить эти заголовки в HTTPRequest. В Почтальоне я могу добавить его на вкладке "Заголовки". Например. Model: Redmi 4 Platform: android, Не стесняйтесь редактировать, чтобы сделать это понятным для других. Ниже есть мой код, который HTTPRequest создает:

Poco::JSON::Object obj;
obj.set("login", "log123");

obj.set("password","pas123");

Poco::Net::HTTPClientSession session("http://hostAddress", 
    80); //giving host name and port number
Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_POST,
        "http://requestAddress","1.1"); //initializing request body
Poco::Net::HTTPResponse response;


std::stringstream ss;
obj.stringify(ss);

request.setContentType("application/json");
request.setContentLength(ss.str().length());

std::ostream& oStream = session.sendRequest(request);// sends request, returns open stream

obj.stringify(oStream);

std::istream& iStream = session.receiveResponse(response);

Я попытался найти некоторую информацию по адресу https://pocoproject.org/docs/Poco.Net.HTTPRequest.html. https://pocoproject.org/docs/Poco.Net.HTTPMessage.html. Но безрезультатно.

1 ответ

Решение

Есть одно решение. Это может помочь другим.

request.add("string:key","string:value") //In order to add headers to request. 

Например:

request.add("X-Make","Xiaomi");
request.add("X-Model","Redmi 4");
request.add("X-Platform","android");
request.add("X-Platform-Version","6.0.1");

Меня устраивает.

Другие вопросы по тегам