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

jef*_*jef 2 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");
Run Code Online (Sandbox Code Playgroud)

Cor*_*lks 5

如果您查找了文档Poco::URI,您会看到它已完成uri.addQueryParameter("name", "value"):

void addQueryParameter(
    const std::string & param,
    const std::string & val = ""
);
Run Code Online (Sandbox Code Playgroud)

添加"param=val"到查询; "param"可能不是空的.如果val为空,则仅'='附加到参数.

除了常规的编码,功能还编码'&''=',如果发现paramval.

您也可以使用设置所有参数setQueryParameters.

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