标签: curlpp

使用CurlPP和vs2008

我正在尝试使用静态curlpp库在VS2008中构建一个C++控制台应用程序.代码 - 例如curlpp示例00 - 如下:

#include "stdafx.h"


#include <curlpp/curlpp.hpp>
#include <curlpp/Easy.hpp>
#include <curlpp/Options.hpp>


using namespace curlpp::options;

int main(int, char **)
{
  try
  {

    // Our request to be sent.
    curlpp::Easy myRequest;

    // Set the URL.
    myRequest.setOpt<Url>("http://example.com");

    // Send request and get a result.
    // By default the result goes to standard output.
    myRequest.perform();
  }

  catch(curlpp::RuntimeError & e)
  {
    std::cout << e.what() << std::endl;
  }

  catch(curlpp::LogicError & e)
  {
    std::cout << e.what() << std::endl;
  }

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我已经下载了源代码,并且我的include路径指向了源包含文件,但是当我尝试编译时,我在类型的内联文件中遇到了大量错误:

不允许定义dllimport函数

肯定有很多人使用curlpp和vs2008,我错过了一些明显的东西.

c++ curl visual-studio-2008 curlpp

10
推荐指数
1
解决办法
3062
查看次数

无法编译curlpp

我已经在这几个小时了(这就是今天)所以我真的可以使用一些帮助.我总是在Windows环境中编写代码,所以我试图将curlpp添加到我的Code :: Blocks项目中.

  1. 我下载了curl-7.22.0-devel-mingw32并将所有这些库添加到Code :: Blocks项目中.
  2. 我下载了curl-7.22.0并使用vc6curl.dsw编译了libcurl.lib,将其添加到Code :: Blocks项目中.
  3. 已下载curlpp -0.7.3
  4. 将MinGW\lib\libwsock32.a添加到Code :: Blocks项目中.
  5. 在项目中添加了以下目录: curlpp-0.7.3\includecurl-7.22.0\include

但是我得到了很多"未定义的引用"错误,所以我猜这意味着curlpp也需要编译.它包含一个VC8项目,所以我下载了Visual C++ 2005 Express并进行了安装.

打开项目时遇到的第一个错误是无法加载示例.我想这不是一个真正的问题.尝试立即构建项目,给出错误"无法打开包含文件:'curl/curl.h'",因此我将cURL include文件夹curl-7.22.0\include添加到项目中,然后重试.

1>------ Build started: Project: curlpp, Configuration: DebugDynamic Win32 ------
1>Compiling...
1>cURLpp.cpp
1>C:\Users\admin\Downloads\curl-7.22.0\curl-7.22.0\include\curl/curl.h(62) : fatal error C1083: Cannot open include file: 'winsock2.h': No such file or directory
1>Easy.cpp
1>C:\Users\admin\Downloads\curl-7.22.0\curl-7.22.0\include\curl/curl.h(62) : fatal error C1083: Cannot open include file: 'winsock2.h': No such file or directory
1>Exception.cpp
1>C:\Users\admin\Downloads\curl-7.22.0\curl-7.22.0\include\curl/curl.h(62) : fatal error C1083: Cannot open include …
Run Code Online (Sandbox Code Playgroud)

c++ codeblocks curlpp

8
推荐指数
1
解决办法
3954
查看次数

C++ - 如何使用Curlpp或libcurl发送HTTP post请求

我想用c ++发送一个http post请求.似乎libcurl(Curlpp)是要走的路.

现在,这是发送的典型请求

http://abc.com:3456/handler1/start?<name-Value pairs>

The name values pairs will have:

field1: ABC
field2: b, c, d, e, f
field3: XYZ

etc.
Run Code Online (Sandbox Code Playgroud)

现在,我想知道如何使用curlpp或libcurl实现相同的功能.代码片段确实会有所帮助.

c++ http libcurl curlpp

7
推荐指数
1
解决办法
5153
查看次数

使用 cURLpp 进行多次下载的进度指示器

我正在编写一个下载多个文件的程序(目前只有 2 个)。我试图让它使用ProgressFunction回调为每次下载显示一个进度条。我遇到的问题是我无法找出区分两个文件之间进度的方法。现在它正在两者之间切换。我曾尝试寻找任何进一步的文档,但似乎他们网站上的 API 链接已损坏,除了一些基本示例外,没有太多其他内容。

    //ProgressCalback
    double ProgressCallBack(double dltotal, double dlnow, double ultotal, double ulnow){
       double progress = (dlnow/dltotal) * 100;
       std::ostringstream strs;
       float percent = floorf(progress * 100) / 100;
       strs << percent;
       printf("%s\t%d\t%d\t%d\t%d\n", strs.str().c_str(),dltotal, dlnow, ultotal, ulnow);
       return 0;
    };

    curlpp::options::ProgressFunction progressBar(ProgressCallBack);
    request1.setOpt(new curlpp::options::Url(url1));
    request1.setOpt(new curlpp::options::Verbose(false));
    request1.setOpt(new curlpp::options::NoProgress(0));
    request1.setOpt(progressBar);
Run Code Online (Sandbox Code Playgroud)

我不完全确定我的代码的哪一部分是相关的,所以这里是与进度回调有关的部分。任何帮助,将不胜感激。

c++ curl curlpp progress-bar

7
推荐指数
2
解决办法
1031
查看次数

使用CLion cmake将curlpp库添加到C++项目中

我在Windows 10上使用CLion和cmake系统构建.我想为http请求添加这个curlpp https://github.com/jpbarrette/curlpp.我从GitHub下载lib并放入项目文件夹.接下来我将它添加到我的CMake列表中:

add_subdirectory(curlpp-master)
Run Code Online (Sandbox Code Playgroud)

不幸的是Cmake throw错误:

Error:Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
Run Code Online (Sandbox Code Playgroud)

之后我决定添加原始C curl https://github.com/curl/curl,与curlpp一样.所以现在看起来像这样:

add_subdirectory(curl-7.47.1)
add_subdirectory(curlpp-master)
Run Code Online (Sandbox Code Playgroud)

但是我没有找到卷曲库我看到同样的错误.如何正确添加curlpp?

c++ curl cmake curlpp clion

7
推荐指数
0
解决办法
746
查看次数

如何在Windows中安装cURLpp?

在这里完成新手,你最有可能在我之前的帖子中猜到了.我似乎无法在此找到任何内容,我以前从未安装过库.我之前回答的问题是告诉我安装和使用libcurl,而cURLpp是C++的包装器,所以我自然而然地认为cURLpp是要走的路.那么,我该如何安装呢?

c++ libcurl curlpp

6
推荐指数
1
解决办法
1472
查看次数

使用curlpp编译问题:对符号'curl_easy_setopt @@ CURL_OPENSSL_3'的未定义引用

该问题的简要说明:

安装curlpp之后,我尝试编译使用curlpp库的c ++代码并得到以下错误:

g++ testCurl.cpp -lcurlpp
/usr/bin/ld: /tmp/ccx5aH5P.o: undefined reference to symbol 'curl_easy_setopt@@CURL_OPENSSL_3'
//usr/lib/x86_64-linux-gnu/libcurl.so.4: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这一问题?

更多详情:

我首先尝试从源代码安装curlpp,但是在运行./config之后,我被告知我需要boost(这是一台新计算机,所以我还没有安装它).我安装了boost.然后我被告知我需要"卷曲的工作版本"或类似的东西.经过快速的互联网搜索,我发现我需要安装一些版本的libcurl-dev.特别是我安装了包:libcurl4-openssl-dev 7.35.0-1ubuntu2.2在此之后,curlpp编译安装没有问题.

最后,我使用了一些通用测试代码并尝试使用命令g ++ test.cpp -lcurlpp进行编译.这导致了上述错误.我尝试卸载curl和所有相关的东西并重新安装它.我还尝试安装一些备用的libcurl-dev实现.同样的错误.

我已经在网上寻找解决方案并尝试了其他一些方法.到目前为止,没有任何工作.

在此先感谢您的帮助!!

c++ curl linker-errors curlpp

6
推荐指数
1
解决办法
3372
查看次数

链接错误与curlpp

我写了一个c ++程序,并尝试使用curlpp安全地访问http服务器SSL.问题是,我无法链接该程序.

操作系统:Ubuntu 15.10

错误:

/ usr/bin/cmake -E cmake_link_script CMakeFiles/prtg_probe.dir/link.txt --verbose = 1 Wird gelinkt prtg_probe(c ++)CMakeFiles/prtg_probe.dir/probe.cpp.o:在函数curlpp :: internal :: OptionContainer中,std :: allocator>,std :: allocator,std :: allocator >>>

:: OptionContainer(std :: __ cxx11 :: list,std :: allocator>,std :: allocator,std :: allocator >>> const&)':/ usr/include /curlpp/internal/OptionContainer.inl:38:undefined引用curlpp :: internal :: SList :: SList(std :: __ cxx11 :: list,std :: allocator>,std :: allocator,std :: allocator >>> const&)'CMakeFiles/prtg_probe.dir/probe. cpp.o:在函数curlpp :: internal :: OptionContainer,std :: allocator>,std :: allocator,std :: allocator >>> :: …

c++ linker curl curlpp

6
推荐指数
2
解决办法
2965
查看次数

如何将curlpp添加到我的项目中?

我正试图从vb.net转换到C++,我坚持这个.我从这里下载了curlpp,它给了我一个.dll,.exp和.lib文件.我将包含这3个文件的目录添加到项目属性中的"附加库目录"(链接器 - >常规).

接下来,我在项目属性(链接器 - >输入)中添加了ws2_32.lib和Wldap32.lib到"附加依赖项",因为这个问题说明了我应该.

现在我试图让示例00工作,但是

#include <curlpp/curlpp.hpp>
#include <curlpp/Easy.hpp>
#include <curlpp/Options.hpp>
Run Code Online (Sandbox Code Playgroud)

国家"无法打开源文件curlpp/curlpp.hpp"等有意义,因为我从未见过这些文件.我究竟做错了什么?这与vb.net完全不同,我似乎无法弄明白.

更新:

我做了Mat所说的,但它没有用,所以我添加了所有相关文件夹以确定. 包括

但VS仍然说无法找到文件.

c++ visual-studio-2010 curlpp

5
推荐指数
1
解决办法
8871
查看次数

使用curlpp发布和接收JSON负载

使用curlppC ++包装器,libcurl如何为发布请求指定JSON有效负载,以及如何在响应中接收JSON有效负载?我从这里去哪里:

std::string json("{}");

std::list<std::string> header;
header.push_back("Content-Type: application/json");

cURLpp::Easy r;
r.setOpt(new curlpp::options::Url(url));
r.setOpt(new curlpp::options::HttpHeader(header));
// set payload from json?
r.perform();
Run Code Online (Sandbox Code Playgroud)

然后,如何等待(JSON)响应并检索正文?

c++ json http-post curlpp

4
推荐指数
1
解决办法
3146
查看次数