Afficher page web : QTcpSocket
Résolu
Chihaya
Messages postés
144
Date d'inscription
Statut
Membre
Dernière intervention
-
Chihaya Messages postés 144 Date d'inscription Statut Membre Dernière intervention -
Chihaya Messages postés 144 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite afficher une page web dans mon navigateur. Pour se faire, je vais sur le liens qui me connecte au QTcpServer : localhost:1234/index.html
Je suis donc un QTcpSocket connecté au serveur.
Mon server reçoit la requête GET /index.html.....
Je traite la requête pour récupérer le chemin du fichier index.html puis j'écris dans un QString le contenu de mon .html, et j'envoie mon QString au client (socket->write(html.toLocal8bit()).
Le truc c'est que sur mon navigateur ça m'affiche le contenue du fichier sous format texte, et je voudrais voir la page web.
Avez-vous une idée de comment procéder?
Merci
je souhaite afficher une page web dans mon navigateur. Pour se faire, je vais sur le liens qui me connecte au QTcpServer : localhost:1234/index.html
Je suis donc un QTcpSocket connecté au serveur.
Mon server reçoit la requête GET /index.html.....
Je traite la requête pour récupérer le chemin du fichier index.html puis j'écris dans un QString le contenu de mon .html, et j'envoie mon QString au client (socket->write(html.toLocal8bit()).
Le truc c'est que sur mon navigateur ça m'affiche le contenue du fichier sous format texte, et je voudrais voir la page web.
Avez-vous une idée de comment procéder?
Merci
A voir également:
- Afficher page web : QTcpSocket
- Web office - Guide
- Supprimer page word - Guide
- Comment traduire une page web - Guide
- Capture page web - Guide
- Afficher google en page d'accueil - Guide
1 réponse
Bon, apparemment personne ne connaissait la réponse, j'ai fini par trouver, il suffisait d'ajouter un header avant le contenue du .html
j'ai donc ajouté :
et
Je ne sais pas si je l'ai fait correctement, mais en tout cas ça à l'air de fonctionner
j'ai donc ajouté :
QString cSocket::resHead(){ QString http ="HTTP/1.1 200 OK\n"; QString date =QDateTime::currentDateTime().toString("yyyy.MM.dd")+"\n"; QString serveur ="Server: localhost\n"; QString type ="Content-Type: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8; charset=UTF-8"; QString enc ="Content-Encoding: deflate\n"; QString user="User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0"; return http+date+serveur+user+type+enc; }
et
QString html = resHead()+in.readAll();
Je ne sais pas si je l'ai fait correctement, mais en tout cas ça à l'air de fonctionner