[Qt] télécharger un fichier d'internet avec mon programme C++

hautparleur Messages postés 213 Date d'inscription   Statut Membre Dernière intervention   -  
hautparleur Messages postés 213 Date d'inscription   Statut Membre Dernière intervention   -
J'ai fait un programme en C++ avec Qt et de dois faire un systeme de mise à jour.
J'ai pensé à un autre programme qui supprime les anciens fichiers et les remplace par des fichiers téléchargés.
Mais je ne sais pas comment télécharger un fichier depuis mon programme.
Comment on fait? merci!
A voir également:

5 réponses

hautparleur Messages postés 213 Date d'inscription   Statut Membre Dernière intervention   15
 
Mais je ne veux pas faire un serveur,
je dois télécharger un fichier à partir du serveur de mon hebergeur.
Comme quand on télécharge un fichier avec le navigateur.
Je pourrais faire system("start www.monsite.com/fichier.exe")
mais passer par le navigateur c'est pas super.
2
Utilisateur anonyme
 
Il faut donc utiliser les sockets, que tu fasses le serveur ou le client ça revient au même finalement.

Il faut créer un socket qui va se connecter au serveur HTTP, et donc créer une requête HTTP conforme.

https://www.commentcamarche.net/informatique/technologies/26181-protocole-http-principe-de-fonctionnement/

Un conseil, utilises le HTTP 1.0 au lieu des plus récents pour éviter de recevoir des données tronquées.
0
hautparleur Messages postés 213 Date d'inscription   Statut Membre Dernière intervention   15
 
Mais je ne sais pas comment envoyer une requête http avec mon programme ni comment enregistrer le fichier à la bonne place.
0
Utilisateur anonyme
 
comment envoyer une requête http avec mon programme -> sockets.

comment enregistrer le fichier -> tu enregistres la réponse du serveur dans la mémoire, ensuite tu ouvres un fichier en écriture et tu écris dedans ce que t'as gardé en mémoire ...

Tu t'attends peut être à ce que je te donne un code tout fait ... le genre de code que Google te permet de trouver en 10 copies différentes à l'aide d'une seule recherche.

Tu as aussi des tutoriels sur le site du zero avec Qt, les sokets et l'écriture dans des fichiers.

Sauf que programmer ne se limite pas au copier/coller ... si tu comprends pas et que tu refuses de voir les choses autrement, que tu refuses de faire un minimum d'effort pour passer du temps à chercher et essayer de comprendre comment ça marche, alors je te conseil de laisser tomber.
0
hautparleur Messages postés 213 Date d'inscription   Statut Membre Dernière intervention   15
 
Oui...
Merci quand même.
2
Utilisateur anonyme
 
https://lmgtfy.app/?q=c%2B%2B+sockets

Musicalement,
DJ Fire-Bl@ck.
1
hautparleur Messages postés 213 Date d'inscription   Statut Membre Dernière intervention   15
 
J'ai trouvé un tuto et j'ai eu ça:

QNetworkAccessManager * manager = new QNetworkAccessManager();
QUrl url (monUrl);
QNetworkReply * reply = manager->get(url);

Mais Qt me dit qu'il y a un problème sur QNetworkReply * reply = manager->get(url);

erreur : no matching function for call to 'QNetworkAccessManager::get(QUrl&)'

Pourquoi?
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nataniel
 
C'est peu etre trop tard vu la date mais un #include <QUrl> ne serait pas du luxe :)
-1