如何通过POCO创建带有某些参数的HTTP请求?

时间:2015-06-29 03:18:10

标签: c++ http-get poco-libraries

我是POCO的新用户,可以在HTTP :: Request之后获得HTTP响应。

顺便说一句,如何使用一些参数创建HTTP请求?例如,我想设置URI http://xxxx/index.html?name=hoge&id=fuga&data=foo

当然我知道如果我直接设置这个uri是可能的。但我想在下面实现这一点。有谁知道这种方式?

URI uri("http://xxx/index.html");
uri.setParam("name", "hoge");
uri.setParam("id", "fuga");
uri.setParam("data", "foo");

1 个答案:

答案 0 :(得分:5)

如果你查了the documentation for Poco::URI,就会看到uri.addQueryParameter("name", "value")已完成:

void addQueryParameter(
    const std::string & param,
    const std::string & val = ""
);
     

向查询添加"param=val"; "param"可能不是空的。如果val为空,则只会将'='附加到参数。

     

除了常规编码外,如果在'&''='中找到,则函数还会对paramval进行编码。

您还可以使用setQueryParameters设置所有参数。

不幸的是,Poco不允许您设置现有查询参数的值(或删除它)。如果你想这样做,你必须清除URI的查询部分,并用它们的值读取你想要的所有参数。