Telechargement avec urlmon

Contenu du snippet

Exemple très court portant sur urlmon et un peu de couleur dans la console.

Cette application prend deux arguments en ligne de commande:
URL du fichier à télécharger (source), et chemin local (destination)

S'il est lancé sans arguments, l'utilisateur saisit manuellement ces données.

Source / Exemple :


#include <stdio.h>
#include <urlmon.h> //et linker urlmon.lib dans project/settings

#define BLEU	9
#define VERT	2
#define JAUNE	14

//Affiche à la couleur voulue et repasse en standard
void o(char msg[], int couleur)
{
	HANDLE  hConsole; hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hConsole, couleur);
	printf("%s",msg);
	SetConsoleTextAttribute(hConsole, 7);
}

int main(int argc, char* argv[])
{
	o("************\nTELECHARGEUR\n************\n\n",VERT);

	char zURL[255];char ficlocal[255];

    if(argc>1){ 
		puts("Telechargement de"); o(argv[1],JAUNE); o(argv[2],VERT);
		URLDownloadToFile(0, argv[1], argv[2], 0, 0);
    }
    else{
		printf("Usage en ligne de commande: ");o("telechargeur",VERT);o(" URL ",BLEU);o("FichierLocal\n",JAUNE);
		printf("Ex: ");o("telechargeur",VERT);o(" http://www.site.com/1.txt ",BLEU);o("c:/test/1.txt\n\n",JAUNE);

		printf("Taper "); o("URL",JAUNE); printf(" a telecharger: ");
		gets(zURL);
		printf("Taper "); o("Chemin local",JAUNE); printf("     :  ");
		gets(ficlocal);
			URLDownloadToFile(0, zURL, ficlocal, 0, 0);
	}
	printf("\nDone.\n");
    return 0;
}

Conclusion :


Rien de bien excitant. Attention à la casse sur les URLs.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.