libcurl以外的东西

时间:2012-03-27 15:03:49

标签: c++ visual-c++ libcurl

所以我一直在搞乱libcurlpp做的事情,比如尝试下载HTML文件或HTTP POST请求,但我总是遇到4个错误,比如

1>MyProgram.obj : error LNK2001: unresolved external symbol __imp__curl_easy_init
1>MyProgram.obj : error LNK2001: unresolved external symbol __imp__curl_easy_setopt
1>MyProgram.obj : error LNK2001: unresolved external symbol __imp__curl_easy_perform
1>MyProgram.obj : error LNK2001: unresolved external symbol __imp__curl_easy_cleanup

有一次我实际上每当我运行它时都会编译它,即使我将正确的DLL移动到带有我的可执行文件的文件夹中,编译器会发出更多关于PDB的错误,我会得到几个DLL错误?如果我没记错的话

我现在用libcurl完成的任何人都可以提出其他建议,最好有详细记录,因为我对此很陌生。

是的,我已经搜索了一些结果不多的东西。非常感谢提前!!!

编辑:使用SFML工作了谢谢你们!

2 个答案:

答案 0 :(得分:1)

我使用SFML。它是一个多媒体库,主要用于游戏开发,但它恰好有处理HTTP的工具。它非常易于使用,下面这个页面下载:

#include <iostream>
#include <SFML/Network.hpp>

int main()
{
    sf::Http Http("stackoverflow.com");    
    sf::Http::Request req("/questions/9892198/something-other-than-libcurl");    
    sf::Http::Response page = Http.SendRequest(req);

    std::cout << page.GetBody();
}

当然,如果你想处理更复杂的重定向情况,还有一些工作要做。

答案 1 :(得分:0)

相比之下,这是一个微不足道的Poco计划:

#include <Poco/Net/HTTPClientSession.h>
#include <Poco/Net/HTTPRequest.h>
#include <Poco/Net/HTTPResponse.h>
#include <iostream>

using namespace Poco::Net;

int main () {
  HTTPClientSession session("stackoverflow.com");
  HTTPRequest request("GET", "/questions/9892198/something-other-than-libcurl");
  HTTPResponse response;

  session.sendRequest(request);
  std::cout << session.receiveResponse(response).rdbuf();
}