Нечто другое, кроме libcurl - PullRequest
0 голосов
/ 27 марта 2012

Так что я возился с 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, даже если я перемещаю нужные DLL в папку с моим исполняемым файлом, компилятор выдает больше ошибок о? PDB?если я правильно помню

Любой, кого я сейчас сделал с libcurl, может предложить что-то еще, желательно хорошо задокументированное, потому что я довольно новичок в этом.

И да, я уже искалза что-то с небольшими результатами.Большое спасибо заранее !!!

РЕДАКТИРОВАТЬ: Получил работать с использованием SFML Спасибо, ребята!

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Я использую 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();
}

Конечно, нужно проделать еще немного работы, если вы хотите обрабатывать более сложные ситуации, такие как перенаправления.

0 голосов
/ 27 марта 2012

Для сравнения вот тривиальная программа 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();
}
...