begin process at 2012 05 29 08:54:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Réseau & Internet

 > 

Help - Wininet + Proxy


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Help - Wininet + Proxy

samedi 9 septembre 2006 à 21:45:58 | Help - Wininet + Proxy

elademri

Bonjour à tous,
J'utilise une fonction download (code plus bas), qui a pour but de telecharger un fichier, et ce en passant par un proxy HTTP.
Dans la msdn, on trouve que pour passer par un proxy avec les fontions wininet, il suffit d'adapter quelques paramètres d' InternetOpen.
J'ai pourtant plusieurs questions :
1) comment savoir si la connection par le proxy a fonctionné ? en effet, je me retrouve souvent avec des fichiers telecharges de 0-2ko au lieu des 30 attendus (cible jpg) ... j'utilise donc un critère rustique (parametre size dans le code) du style si donnees_telechargees<10ko alors mauvais proxy... La NULLité des handles HINTERNET ne semble pas déterminante.
2) doit on toujours simplement passer le Host Name & Object Name à InternetConnect et HttpOpenRequest, ou y-a-t-il une quelconque concaténation à faire avec l'adresse du proxy ?
3) mes interrogations viennent du fait que ce code a peu ou pas marché, mais peut etre n'est ce du qu'au faible nombre de proxy qui fonctionnent... (nb : le code fonctionne parfaitement sans l'utilisation d'un proxy). Dans ce cas la réponse au 1) m'intéresse plus particulièrement.


void download(LPCTSTR lpszServerName,LPCTSTR lpszObjectName, PTSTR File,LPCTSTR lpszProxyName, long int*size)
{
     HINTERNET hRoot = InternetOpen("mwahahaha",INTERNET_OPEN_TYPE_PROXY,lpszProxyName,NULL,0);
     HINTERNET hConnect = InternetConnect(hRoot,lpszServerName,INTERNET_DEFAULT_HTTP_PORT,NULL,NULL,
                                          INTERNET_SERVICE_HTTP,0,0);
     HINTERNET hRequest = HttpOpenRequest(hConnect,"GET",lpszObjectName,NULL,NULL,NULL,
                                          INTERNET_FLAG_KEEP_CONNECTION,0);
     if (hRequest==NULL) return;
     HttpSendRequest(hRequest,NULL,NULL,NULL,0);
    
     LPTSTR  lpszData;
     DWORD  dwSize;
     DWORD  dwDownloaded;
     DWORD dwBytesWritten;
     HANDLE hFile = CreateFile(File,GENERIC_WRITE, 0,NULL, CREATE_ALWAYS, 0, NULL);
    
     *size=0;
     do
     {
        InternetQueryDataAvailable(hRequest,&dwSize,0,0);
        lpszData = new TCHAR[dwSize+1];

        InternetReadFile(hRequest,(LPVOID)lpszData,dwSize,&dwDownloaded);
        lpszData[dwDownloaded]='\0';
        (*size)+=dwDownloaded;

        WriteFile(hFile, lpszData, dwDownloaded* sizeof(TCHAR),&dwBytesWritten, NULL) ;
        delete[] lpszData;

        if (dwDownloaded == 0) break;
     }while(TRUE);
     CloseHandle (hFile) ;
         
     InternetCloseHandle(hRequest);
     InternetCloseHandle(hConnect);
     InternetCloseHandle(hRoot);
}

samedi 9 septembre 2006 à 23:56:37 | Re : Help - Wininet + Proxy

24Karas

Questions à poser dans le forum, pas dans les sources ...
dimanche 10 septembre 2006 à 00:29:17 | Re : Help - Wininet + Proxy
dimanche 10 septembre 2006 à 02:22:49 | Re : Help - Wininet + Proxy

24Karas

oulà excuse moi :D
j'commence à fatiguer un peu

encore désolé

++


Cette discussion est classée dans : code, proxy, hrequest, lpszdata, dwdownloaded


Répondre à ce message

Sujets en rapport avec ce message

Demande de tutorial et de code source... [ par MaTHieU ] Salut,Tout d'abord, merci pour ce superbe site !Je cherche des cours pour apprendre à faire des tunnel et du plasma en Visual C++ ou des codes sources imprimer et image en c++ [ par naney ] je voudre un code source qui me montre comment imprimer et un autre qui me montre comment inserais une image en c++ (n'importe quel format d'image) ex Aide pour mega debutant [ par C++ ] Salut, bon alors je vien d ouvrir c++ mais comment mettre un code sur un boutton ???par exemple ce code comment je doits le mettre sur un bouton :int code source de la visionneuse microsoft en C++ [ par tompouce ] j' ai un projet à faire en C++ et je n'y connaît strictement rien AU SECOURS!!Jai fait une fenetre avec un simple menu Fichier** Ouvrir** QuitterQuand Recherche code source de notepad... [ par PierreP ] ou de tout autre éditeur de texte assez simple.Merci d'avance ! Fenetre [ par c++ ] salut, je voudrais savoir le code pour creer une fenetre toute simple rien que le code de la fenetre c tout svp! Pb code source CMphSock [ par xaviou ] Salut.J'ai téléchargé le projet "CMphSock" : Utilisation de Winsock sans MFC.Je l'ai compilé en mode Debug : tout est OKJ'ai essayé en mode Release : (Hors Sujet) Petit coup de gueule [ par Jo ] Bonjour,Deajs je voudrai m'excuser d'utiliser le forum pour faire passer ce petit message, qui n'a rien a voir avec une demande d'aide ou de conseil d Salut, je voudrai savoir si qql'un peut me faire un petit code source sur ... [ par Uncle-Shu ] En faites je voudrai creer une application dans le style de VB (Fichier, Edition,...) !!Merci d'avance et bonne chance !! tutorial ou code GLUT [ par francky ] SALUT,je débute avec dev c, et j'aimerais créer une interface portable aussi bien sous window que sous linux;mon probleme: j'ai bien trouver glui, mai


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales