begin process at 2012 05 30 20:10:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

winhttp


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

winhttp

mardi 17 juillet 2007 à 12:50:48 | winhttp

mitali

Le code suivant me permet d ouvrir une popup pour authentification par certificat tout ça marche très bien ,mais quand je valide l'authentification je reçoit une erreur dont le code est le suivant 12019 est ça veu dire ;The requested operation cannot be carried out because the handle supplied is not in the correct state.Mais j'ai pas saisi ça!!!
SOS

/******************************************************************************************************************

* Fonction permettant d'envoyer une enveloppe FAST contenant une enveloppe métier *

******************************************************************************************************************/

long

CTiersdeConfianceAuto::ENVOI(LPCTSTR INFO_SESSION, LPCTSTR TYPE_TRANSMISSION, LPCTSTR CHEMIN_FLUX, BSTR FAR* FLUX_RETOUR)

{

*FLUX_RETOUR =::SysAllocString(L

"DEBUT" );

BOOL bResults = FALSE;

HINTERNET hSession = NULL,

hConnect = NULL,

hRequest = NULL;

HCERTSTORE hMyStore=NULL,

hCertStore = NULL;

PCCERT_CONTEXT pCertContext=NULL;

long lRetval=0;

char szError[1024];

lRetval=SelectCertificateFromStore(

"My" , NULL, szError, &pCertContext);

// Use WinHttpOpen to obtain a session handle.

hSession = WinHttpOpen( L

"A WinHTTP Example Program/1.0" ,

WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,

WINHTTP_NO_PROXY_NAME,

WINHTTP_NO_PROXY_BYPASS, 0);

// Specify an HTTP server.

if (hSession)

{

hConnect = WinHttpConnect( hSession, L

"192.168.0.50" ,

INTERNET_DEFAULT_HTTPS_PORT, 0);

*FLUX_RETOUR =::SysAllocString(L

"WinHttpOpen" );

}

// Create an HTTP Request handle.

if (hConnect)

{

hRequest = WinHttpOpenRequest( hConnect, L

"POST" ,

L

"/entreprise/secure/get_cert.php" ,

NULL, WINHTTP_NO_REFERER,

WINHTTP_DEFAULT_ACCEPT_TYPES,

0);

*FLUX_RETOUR =::SysAllocString(L

"WinHttpConnect" );

}

// Send a Request.

if (hRequest && pCertContext)

{

WinHttpSetOption(hRequest, WINHTTP_OPTION_CLIENT_CERT_CONTEXT,

(LPVOID) pCertContext,

sizeof (CERT_CONTEXT) );

char err[1024];

sprintf(err,

"---->%d " ,GetLastError() );

ASCtoBSTR(err, FLUX_RETOUR);

bResults = WinHttpSendRequest( hRequest,

WINHTTP_NO_ADDITIONAL_HEADERS,

0, WINHTTP_NO_REQUEST_DATA, 0,

0, 0);

}

// Close open handles.

if (hRequest) WinHttpCloseHandle(hRequest);

if (hConnect) WinHttpCloseHandle(hConnect);

if (hSession) WinHttpCloseHandle(hSession);

return 1;

}

mardi 17 juillet 2007 à 16:48:52 | Re : winhttp

The_Guardian

Bonjour,
ben deja ton code est pas indenté, c'est lourd d'aider des personnes qui ne font pas d'effort pour la présentation.

Une autruche ne se cuit pas aux petits lardons
mardi 17 juillet 2007 à 20:58:24 | Re : winhttp

mitali

merci pour l'aide
mardi 17 juillet 2007 à 21:02:34 | Re : winhttp

mitali

 

long CTiersdeConfianceAuto::ENVOI(LPCTSTR INFO_SESSION, LPCTSTR TYPE_TRANSMISSION, LPCTSTR CHEMIN_FLUX, BSTR FAR* FLUX_RETOUR)

{               *FLUX_RETOUR =::SysAllocString(L "DEBUT" );

          BOOL bResults = FALSE;

       HINTERNET hSession = NULL,

         hConnect = NULL,

      hRequest = NULL;

      HCERTSTORE hMyStore=NULL,

      hCertStore = NULL;

      PCCERT_CONTEXT pCertContext=NULL;

long lRetval=0;

char szError[1024];

lRetval=SelectCertificateFromStore( "My" , NULL, szError, &pCertContext);

// Use WinHttpOpen to obtain a session handle.

hSession = WinHttpOpen( L "A WinHTTP Example Program/1.0" , WINHTTP_ACCESS_TYPE_DEFAULT_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, 0);

// Specify an HTTP server.

if (hSession)

{

hConnect = WinHttpConnect( hSession, L "192.168.0.50" , INTERNET_DEFAULT_HTTPS_PORT, 0); *FLUX_RETOUR =::SysAllocString(L "WinHttpOpen" );

}

// Create an HTTP Request handle.

if (hConnect)

{   
hRequest = WinHttpOpenRequest( hConnect, L "POST" , L "/entreprise/secure/get_cert.php" , NULL, WINHTTP_NO_REFERER, WINHTTP_DEFAULT_ACCEPT_TYPES, 0);

*FLUX_RETOUR =::SysAllocString(L "WinHttpConnect" );
}

// Send a Request.

if (hRequest && pCertContext)

{

WinHttpSetOption(hRequest, WINHTTP_OPTION_CLIENT_CERT_CONTEXT, (LPVOID) pCertContext, sizeof (CERT_CONTEXT) ); char err[1024];

sprintf(err, "---->%d " ,GetLastError() );

ASCtoBSTR(err, FLUX_RETOUR);

bResults = WinHttpSendRequest( hRequest, WINHTTP_NO_ADDITIONAL_HEADERS, 0, WINHTTP_NO_REQUEST_DATA, 0, 0, 0);

}

// Close open handles.

if (hRequest) WinHttpCloseHandle(hRequest);

if (hConnect) WinHttpCloseHandle(hConnect);

if (hSession) WinHttpCloseHandle(hSession);

return 1;

}

dimanche 22 juillet 2007 à 12:42:12 | Re : winhttp

ShareVB

salut,

le dernier param de WinHttpOpenRequest ne devrait pas être WINHTTP_FLAG_SECURE ?


ShareVB


Cette discussion est classée dans : flux, winhttp, hrequest, hsession, hconnect


Répondre à ce message

Sujets en rapport avec ce message

Flux de sortie... [ par MorZong ] B'jour,Alors moi j'ai une question pour un champion :Est-ce que quelqu'un sait comment définir un mot-clef (ou peu importe comment ca se nomme) qui au Gestion de flux [ par djfab ] Bonjour,J'ai une petite question à propos des fluxJ'inclu fstream.h, je crée un objet fic, je fais fic.open("fichier.dat", ios:in)Et là, en fait, bah, extraction d'image d'un flux video [ par Little3D ] je previsualise un flux video capturé depuis une camera via une carte d'acquisition video. Je cherche a traiter l'image a la volé. Je sais capturer un urgent : flux de cannaux [ par ifren ] bonjour, je voudrai savoir comment peut on recuperer sur un fichier (exemeple .txt) , les entrees -sorties ou encore les erreurs, et les warning de no HELP : Flux de caracteres/echanges de donnees Java-C/SSH [ par thetical ] bonjouren ce moment je code un client leger ssh (du moins j'essaie ).le principe c'est l'envoi interactif de commandes (mon flux de caracteres) depui Redirection E/S vers un Xterm en C [ par thetical ] je developpe actuellement un outil qui me permet d'utiliser Openssh enlancant plusieurs connexions simunltanees vers des host.ce que je n'arrive pas a Extraction d'int à partir d'un flux [ par UbuRoi ] slt,Je veux surcharger l'operateur d'extraction de ma classe. La fonction reçoit un flux du type istream qui ressemble à ça :"a b c". représentant un Comment récupérer le flux de la cmd system dans une variable [ par PRZYBYLSKI ] J'ai une questionComment je peux recuperer le flux de la cmd system dans une variable.Cette exemple est juste une image qlq peut me mettre sur la voie Problème de compilation d'une Dll [ par DrUn ] Bonjour, J'ai une Dll qui a été compilée par visual c++ il y a quelques temps. Cette Dll fait du WinHTTP. Elle n'a pas été modifiée et mon SDK non plu Little Endian vers BigEndian impossible ! [ par minos164 ] Voici mon codeunsigned char * bloc[]; // variable bloc = tamponFILE * flux_source;flux_source = fopen("test.jpc","rb");fread(bloc,2,1,flux_source);pri


Nos sponsors


Sondage...

Comparez les prix

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,874 sec (4)

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