InternetOpen Proxy Authentification

Résolu
Pontaeri51 Messages postés 5 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 12 mars 2007 - 5 janv. 2007 à 16:35
Pontaeri51 Messages postés 5 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 12 mars 2007 - 10 janv. 2007 à 16:45
Travaillant sur une apllication qui va chercher sur des infos sur le Web,
J'ai un problème au niveau de la connection avec les proxy demandant une authentification,
je n'arrive pas a établir la connection et ca fait deux jours que je planche dessus!!!
 Voici  mon code uniquement pour établir la connection avecproxy + authentification :

dwTyp    = REG_SZ;
char ProxyName[0x100];
char ProxyPort[0x100];
char ProxyUserName[0x100];
char ProxyPassword[0x100];
dwDisp = sizeof( ProxyName );

//Chargement des variablers de la base de registre
lRes = RegQueryValueEx( hKey, NTS_REG_PUSERNAME, 0, &dwTyp, (BYTE*)&ProxyUserName, &dwDisp );
lRes = RegQueryValueEx( hKey, NTS_REG_PPASSWORD, 0, &dwTyp, (BYTE*)&ProxyPassword, &dwDisp );
lRes = RegQueryValueEx( hKey, NTS_REG_PNAME, 0, &dwTyp, (BYTE*)&ProxyName, &dwDisp );
lRes = RegQueryValueEx( hKey, NTS_REG_PPORT, 0, &dwTyp, (BYTE*)&ProxyPort, &dwDisp );
char lpszProxyName[100];

sprintf( (char *)lpszProxyName, "http=http://%s:%s", ProxyName, ProxyPort );

hSession = InternetOpen( "GetURL", INTERNET_OPEN_TYPE_PROXY, lpszProxyName, NULL, NULL );

BOOL bSend,bQuery = FALSE;
static HINTERNET hConnect,hRequest;
char charBuffer[200],getBuffer[1024];
DWORD dwRead,dwStatusCode,dwStatusSize=sizeof(dwStatusCode);
if (hSession!=NULL)
{
    hSession=InternetConnect(hSession,charBuffer,INTERNET_DEFAULT_HTTP_PORT,NULL,NULL,INTERNET_SERVICE_HTTP,0,1u); //WinInet
    MessageBox(NULL,"OPEN","Code of Message",MB_OK);
}

if (hSession!=NULL)
{
    hRequest=HttpOpenRequest(hConnect,"GET",_T( szUrl ),NULL,NULL,0,INTERNET_FLAG_KEEP_CONNECTION,1);
    MessageBox(NULL,"CONNECT","Code of Message",MB_OK);
}

if (hRequest!=NULL)
{
    bSend=HttpSendRequest(hRequest,NULL,0,NULL,0);
    MessageBox(NULL,"REQUEST","Code of Message",MB_OK);
}

if (bSend)
{
    MessageBox(NULL,"SEND","Code of Message",MB_OK);
    bQuery=HttpQueryInfo(hRequest,HTTP_QUERY_FLAG_NUMBER|HTTP_QUERY_STATUS_CODE,&dwStatusCode,&dwStatusSize,NULL);
    char chQuery=static_cast<char>(bQuery);
    MessageBox(NULL,&chQuery,"This is bQuery",MB_OK);
    if (bQuery!=NULL) MessageBox(NULL,"QUERY","Code of Message",MB_OK); else MessageBox(NULL,"QUERY NULL","Code of Message",MB_OK);
    if (chQuery!=NULL) MessageBox(NULL,&chQuery,"Code of Message",MB_OK); else MessageBox(NULL,"NULL","Code of Message",MB_OK);
   
    switch(dwStatusCode)
    {
        case HTTP_STATUS_PROXY_AUTH_REQ:
        {
            MessageBox(NULL,"HTTP_STATUS_PROXY_AUTH_REQ","Text of Page",MB_OK);
            InternetSetOption(hRequest,INTERNET_OPTION_PROXY_USERNAME,ProxyUserName,sizeof(ProxyUserName));
            InternetSetOption(hRequest,INTERNET_OPTION_PROXY_PASSWORD,ProxyPassword,sizeof(ProxyPassword));
            if(!(bSend=HttpSendRequest(hRequest,NULL,0,NULL,0))) MessageBox(NULL,"Proval","Text of Page",MB_OK);
            break;
        }
        case HTTP_STATUS_DENIED:
        {
            MessageBox(NULL,"HTTP_STATUS_DENIED","Text of Page",MB_OK);
            InternetSetOption(hRequest,INTERNET_OPTION_USERNAME,ProxyUserName,sizeof(ProxyUserName));
            InternetSetOption(hRequest,INTERNET_OPTION_PASSWORD,ProxyPassword,sizeof(ProxyPassword));
            bSend=HttpSendRequest(hRequest,NULL,0,NULL,0);
            break;
        }
        default:
        {
           
        }
    }
   
}

hUrl = InternetOpenUrl( hRequest, _T( szUrl ), NULL, NULL, INTERNET_FLAG_NO_UI | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_RELOAD |INTERNET_FLAG_NO_CACHE_WRITE, NULL );

if( hUrl )
    MessageBox( NULL, "OK", "OK", MB_OK );
else
    MessageBox( NULL, "NOK", "NOK", MB_OK );

Delirium6

3 réponses

Pontaeri51 Messages postés 5 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 12 mars 2007
10 janv. 2007 à 16:45
Merci de ton aide, celaa fonctionné en cherchant sur les liens que tu m'a filé.
Entre temps j'ai trouvé cela qui parle de la meme chose et cela peut en aider quelques uns :

http://myforum.net.ua/index.php?showtopic=8552

Delirium6
3
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
6 janv. 2007 à 11:02
0
Pontaeri51 Messages postés 5 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 12 mars 2007
8 janv. 2007 à 10:32
Je vais regarder ce que je peux faire avec ces infos, je vous tiens au courant.

Delirium6
0
Rejoignez-nous