HTTPRequête et XML-RPC
Stagiaire WDF
Inscrit:
10/08/2007 12:38
Post(s): 32
Bonjour, c'est encore moi ;)

petit pb cette fois avec une application qui doit échanger des infos avec un serveur web via le protocole XML-RPC.
En 2 mots :
le protocole XML-RPC sert a échanger des données en XML par l'intermédiaire d'un serveur web sur le protocole HTTP1.1
jusque la pas de pb c'est avant mon pb en fait :(
je dois me connecter sur un serveur web qui me demande une authentification LOGIN / PWD , j'envoi une requete à mon serveur qui me répond "ERROR 401 - WWW AUTHENTICATION BASIC etc".
la norme dit que je dois renvoyer une requete avec dans l'entete : "AUTENTIFICAZIONE :BASIC "+(LOGIN:PWD)code en base64
dont acte.
mon pb : quant j'utilise HTTPRequete(SITE,"",ENTETE,DATAS,"",LOGIN,PWD)
ou
HTTPRequete(SITE,"",ENTETE,DATAS,"","","")
ou
HTTPRequete(SITE,"","",DATAS,"",LOGIN,PWD)

ca ne marche pas j'ai soit un message d'erreur HTTPRequet l'envoi de la requete a échoué (sans expliquation)

soit erreur 401 UNAUTHORIZED
bref j'avance pas.

Qqun a déja tenté ce genre d'aventure et sais ce que je dois envoyer à mon serveur pour qu'il me réponde au moins une fois autres chose que 401 (ou 405 j'ai eut aussi mais c'est requete mal construite)

Merci

Guillaume

Contribution le : 20/06/2008 18:11
Créer un fichier PDF de la contribution Imprimer


Re: HTTPRequête et XML-RPC

Inscrit:
26/02/2003 19:33
De Paris
Post(s): 16
Regarde du coté des fonctions SOAP, je crois que c'est justement du XML sur http...

Sinon, la fonction Crypte() permet d'encoder en base64... ce n'est pas reellement un cryptage mais plutot une substitution pour encoder du binaire au format texte en évitant les caractères spéciaux... (les pieces jointes des emails peuvent utiliser aussi ce format)

Contribution le : 20/06/2008 19:32
Créer un fichier PDF de la contribution Imprimer


Re: HTTPRequête et XML-RPC
Utilisateur WDF
Inscrit:
15/09/2006 17:34
Post(s): 77
Bonsoir,

Le login/mot de passe envoyé par HTTPRequête est tout simplement mal encodé (tout du moins c'est le cas dans les versions avant la 12).

En fait tout dépend de la longueur de la chaine à encoder.

La solution est de recréer l'entête avec HTTPrequête en encodant toi même en base64.

Si tu es sur une version < WD 10 ce n'est même pas la peine d'aller plus loin sauf si tu décides de passer par les sockets, car HTTPrequete envoie une taille de message incorrecte ce qui fait que ton serveur va toujours attendre la fin du message (ou prendre le début du second message pour finir de traiter le premier).

A part ces points, aucune difficulté avec HTTPrequete et XML-RPC à condition de respecter le protocole (qui est super simple)

Contribution le : 20/06/2008 21:28
Créer un fichier PDF de la contribution Imprimer


Re: HTTPRequête et XML-RPC
Stagiaire WDF
Inscrit:
10/08/2007 12:38
Post(s): 32
Bonjour,
j'avais vu qu'il fallait "crypter" le login/mot de passe en ("login:mpd")base64, je l'ai fait avec crypte (j'ai aussi vu sur le forum de pcsoft qui avais des pb avec la fonction crypte en bas64) donc j'ai encodé directe ma chaine par un programme en java trouvé sur internet (j'ai tester 4 programme en different langage pour etre sur et j'ai tester avec crypte, ca marche mais bon je prefere mettre la chaine en dur) ca ne change pas.
j'ai regarder SOAP mais j'en suis pas encore la, pour le moment j'essaye de me connecter, je verrais apres pour l'envoit de xml ;)

merci quant meme,

guillaume

Contribution le : 23/06/2008 09:16
Créer un fichier PDF de la contribution Imprimer


Re: HTTPRequête et XML-RPC
Stagiaire WDF
Inscrit:
10/08/2007 12:38
Post(s): 32
salut, aurais tu un exemple de requete à me fournir ? (avec un login/mot de passe bidon cela va de soit) ?
je sais pas si je construit mal ma requete ou non

dans la norme on me parle de requete avec "Authorization: Basic " + la chaine cryptée en base64 mais je sais pas si il me manque pas qqchose dans la requete.

Merci

Guillaume

Contribution le : 23/06/2008 09:19
Créer un fichier PDF de la contribution Imprimer


Re: HTTPRequête et XML-RPC
Utilisateur WDF
Inscrit:
15/09/2006 17:34
Post(s): 77
Bonjour

essaie d'adapter le code ci-dessous

s_encode est chaîne =pUser+":"+pPass
s_encode = B64E(s_encode,Vrai)
s_header = "Authorization: Basic "+s_encode+RC

vpost = "ta commande post"

HTTPRequête(tonsite,"MOZILLA Compatible",s_header,vpost,"application/x-www-form-urlencoded")



Pour avoir un base64 conforme

PROCEDURE B64E(pChaine est une chaîne,pTexte est un booléen=Vrai)
T est une chaîne =""

SELON modulo(Taille(pChaine),3)
	CAS 0 : T=""
	CAS 1 : T="=="
	CAS 2 : T="="
FIN

RENVOYER Crypte(pChaine,"",crypteAucun,pTexte)+T

Contribution le : 23/06/2008 10:09
Créer un fichier PDF de la contribution Imprimer


Re: HTTPRequête et XML-RPC
Stagiaire WDF
Inscrit:
10/08/2007 12:38
Post(s): 32
j'ai tester ca marche,
je te remercie du fond du coeur ;)
Apres les effusions d'amour, l'explication :
en fait mon erreur est la :
HTTPRequête(tonsite,"MOZILLA Compatible",s_header,vpost,"application/x-www-form-urlencoded")

"MOZILLA Compatible" <-- si je mets pas ca, ca ne marche pas :( allé savoir pourquoi, peut etre que le serveur sur lequel je me connecte est trop "strict" est refuse les autorisations si c'est de l'exotique ou du windev.

en tout cas maintenant j'ai pas de pb !
la preuve :
entete recut :
HTTP/1.1 200 OK
Date: Mon, 23 Jun 2008 09:16:38 GMT
Server: IBM_HTTP_Server/2.0.47.1 Apache/2.0.47 (Unix)
Content-Length: 823
Content-Type: text/xml
Content-Language: en-US

merci à tous,

Guillaume

Contribution le : 23/06/2008 11:20
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2