[英]Poco HTTPClientSession adding headers to HTTPRequest
尝试使用JSON将POST方法发送到服务器。 但是,服务器还需要model, platform and platform version
作为请求的标头。 如何将这些标头添加到HTTPRequest。 在Postman,我可以在Headers选项卡中添加它。 例如。 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 。 但没有结果。
有一个解决方案。 它可以帮助别人。
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");
这个对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.