【问题标题】:How do I create HTTP request with some parameters by POCO?如何通过 POCO 创建带有一些参数的 HTTP 请求?
【发布时间】:2015-06-29 03:18:10
【问题描述】:

我是 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");

【问题讨论】:

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


    【解决方案1】:

    如果您查找过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 的查询部分并读取你想要的所有参数及其值。

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      • 2020-09-11
      • 2012-10-01
      • 1970-01-01
      • 2013-12-16
      • 2016-03-15
      相关资源
      最近更新 更多