c++ - libcurl C++ 添加 http get 参数

标签 c++ libcurl

我是 C++ 开发的新手,我一直在尝试使用 libcurl。

我基本上是在寻找一个函数,让我输入类似于 curl 中的 -d 标志的参数。

例如,如果我只是直接在 curl 中发送一个 url 请求,或者在网络浏览器中,url 看起来像'https://www.example.com/hello.json?whoisawesome=me&whosucks=yomomma '

那么我怎么能把它提供给 libcurl 而不是像这个问题的公认答案中建议的那样只是一个 url: Add paramethers to libcurl GET in c++

但是我可以添加参数吗?我希望调用会自动“清理”文本(例如,支持字符串中的符号 (&) 和等号 (=)。我确定还有其他情况,但这是我现在唯一能想到的).当然,我可以创建一个自己清理字符串的函数,但我想知道 libcurl 中是否内置了一个函数。

我检查了 api 文档,但我想我还不够熟悉,无法成功导航它以找到我需要的东西。

谢谢你的时间

最佳答案

  1. 如前所述,必须手动构建包含 GET 参数的完整 URL。
  2. 健全性检查,如去除前导或尾随空格,不是 libcurl 的责任。
  3. 要对参数的(经过处理的) 部分进行 URL 编码,您可以使用 curl_easy_escape .无论如何,关键部分应该在您的手中。

关于c++ - libcurl C++ 添加 http get 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19978947/

相关文章:

c++ - 从远程执行的进程获取状态

c++ - 在不使用库的情况下播放MP3/WAV文件?

c++ - 我可以将英特尔的 TBB 与 gcc 一起使用吗?

c++ - 这里访问了多少个不同的指针/间接级别?

使用 libcurl 捕获 RTSP 流

c++ - 使用 libcurl 下载目录中的所有文件

c++ - std::map<struct,struct>::find 没有找到匹配项,但是如果我通过 begin() 循环到 end() 我会在那里看到匹配项

c++ - 使用 C++ Boost 或 STL 和 Mysql 存储和检索图像

ssl - libcURL TLS SMTP 工作但实际上没有发送

c++-cli - libcurl 编译错误