[ASIO] tcp::iostream et HTTPS
Bonjour à tous,
je souhaiterai utiliser tcp::iostream de boost asio pour récupérer un stream par HTTPS.
Mon code est directement inspiré de http://www.boost.org/doc/libs/1_42_0...ime_client.cpp
dans un premier temps si j'essaie de récupérer des simples pages comme l'index de google par GET :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| tcp::iostream s("google.com", "http");
s << "GET / HTTP/1.0\r\n"
<< "Host: google.com\r\n\r\n";
if (!s)
{
std::cout << "Error: " << s.error().message() << std::endl;
}
std::string line;
while (!s.eof())
{
std::getline(s, line);
std::cout << ">" << line << std::endl;
} |
Ceci marche très bien, mais dès que je change http en https :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| tcp::iostream s("google.com", "https");
s << "GET / HTTP/1.0\r\n"
<< "Host: google.com\r\n\r\n";
if (!s)
{
std::cout << "Error: " << s.error().message() << std::endl;
}
std::string line;
while (!s.eof())
{
std::getline(s, line);
std::cout << ">" << line << std::endl;
} |
Le programme se ferme et ne fait rien.
J'ai déjà essayé de remplacer https par 443 car j'ai vu en cherchant sur le net que certains mettaient le port directement. Je ne sais pas pourquoi ça ne fonctionne pas. Je ne passe jamais dans la condition d'erreur.
A vrai dire, je ne sais pas si c'est possible de cette manière, je n'ai pas trouvé d'exemple sur le net d'un tcp::iostream avec https. A la limite, je n'attends pas une solution mais une technique de debuggage pour comprendre pourquoi ça ne fonctionne pas m'aiderait beaucoup, merci d'avance !