web-dev-qa-db-fra.com

Quelle bibliothèque C++ dois-je utiliser pour implémenter un client HTTP?

Je recherche une bibliothèque C++ qui implémente ou active l'implémentation d'un client HTTP. Il devrait également gérer les cookies. 

Que proposeriez-vous?

37
Piotr Dobrogost

Curl ++ : est une option, en particulier si vous souhaitez utiliser davantage le style C++.

cpp-netlib : très bon et simple à utiliser, disponible sur ubuntu

Sudo apt-get install libcppnetlib-dev

exemple:

using namespace boost::network;
using namespace boost::network::http;

client::request request_("http://127.0.0.1:8000/");
request_ << header("Connection", "close");
client client_;
client::response response_ = client_.get(request_);
std::string body_ = body(response_);
27
bdonlan

Jetez un oeil à Bibliothèques Poco

J'ai commencé à les utiliser car ils sont portables et c'est un plaisir de travailler avec eux. Simple et propre - bien que je n’aie rien plongé dans la fantaisie pour le moment.

17
da_m_n
12
dfa

C++ (STL) n'a pas de bibliothèque HTTP ou réseau par défaut, vous devrez faire autre chose. 

libcurl devrait faire ce que vous voulez. cURL ++ est la même libcurl enveloppée dans un wrapper C++ brillant. 

10
The Unknown

Vous pouvez essayer WinInet 

http://msdn.Microsoft.com/en-us/library/aa385331(VS.85).aspx

Contrairement à WinHTTP, il est davantage orienté client.

2
Eugene

Toutes les bibliothèques alternatives sont disponibles ici, si vous avez besoin d'API http complexes, essayez curl, si vous voulez juste obtenir un fichier, essayez http-tiny

http://curl.haxx.se/libcurl/competitors.html

1
Neil Han

Si c'est pour Windows, jetez un coup d'œil à Windows HTTP Services (WinHTTP)

http://msdn.Microsoft.com/en-us/library/aa384273(VS.85).aspx

Services HTTP Microsoft Windows (WinHTTP) fournit aux développeurs un Programmation d'application client HTTP interface (API) pour envoyer des demandes via le protocole HTTP à d'autres Serveurs HTTP.

WinHTTP offre à la fois un C/C++ Interface de programmation d'applications (API) et un modèle d'objet composant Composant d'automatisation (COM) approprié pour une utilisation dans Active Server Pages (ASP) applications basées.

Pour les cookies http://msdn.Microsoft.com/en-us/library/aa383261(VS.85).aspx

1
singinanarchist

Sous Windows, vous pouvez utiliser IE à l’aide de IWebBrowser2 interface.

0
Eugene Yokota