Bonjour,
Y a-t-il quechose de spécial à ajouter pour que le HTTPS fonctionne par rapport au HTTP ?
Mon code fonctionne très bien sur n'importe quel site en HTTP, mais lorsque je modifie "http" en "https" (sur les sites qui supportent les deux, comme google), j'obtiens le code 1000 (InvalidResponse).
Voilà une appli minimale mais complète pour test :
#include <iostream>
#include "SFML/Network.hpp"
int main(int argc, const char* argv[])
{
if (argc < 2)
{
return 0;
}
sf::Http client(argv[1]);
sf::Http::Request Request;
Request.setUri("/");
sf::Http::Response Response = client.sendRequest(Request);
sf::Http::Response::Status Status = Response.getStatus();
std::string Body = Response.getBody();
std::cout << "Status = " << Status << std::endl;
std::cout << "Body = " << Body.substr(0, 50) << "...";
return 0;
}
Et ce que ça donne en sortie :
>Test.exe http://www.google.fr
Status = 200
Body = <!doctype html><html itemscope="itemscope" itemtyp...
>Test.exe https://www.google.fr
Status = 1000
Body = ...
>Test.exe http://www.youtube.com
Status = 200
Body = <!DOCTYPE html><html lang="fr" data-cast-api-e...
>Test.exe https://www.youtube.com
Status = 1000
Body = ...
Une idée ?
Je bloque là-dessus depuis des heures alors que ce doit être vraiment stupide !
J'utilise SFML 2.1 sous Windows 8 et je compile avec VS2012.
Merci d'avance.