Question invoke-webrequest pas gentil....

Plus d'informations
il y a 10 ans 4 mois #20944 par Philippe
tu peut peut etre regardé cette exemple qui ouvre une page web avec login/password et la remplie biensur
mais il te faudra regardé le html du formulaire de la page web pour connaitre le nom des champs login et pwd !

ce site est un plus documenté<br><br>Message édité par: 6ratgus, à: 23/10/15 10:50

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 4 mois #20955 par acidric
Réponse de acidric sur le sujet Re:invoke-webrequest pas gentil....
pour le moment, je mets de coté la partie powershell, j'utilise fiddler un outils que je ne connaissais pas et qui permet justement de gérer,écouter, sniffer du web, même en https...
du coup, ce n'était pas prévu B) , je me forme sur cette partie la pour mieux comprendre les interactions...
une fois que j'arriverai à faire fonctionner correctement l'appi avec des requêtes http de base, je repasserai à powershell...
en fait, je me suis rendu compte que j'avais une réponse 401 dans fiddler, et la traduction d'erreur powershell est un peu fourre tout...
je reviendrais poster quand j'aurai avancé un peu, depuis j'ai utilisé deux autres API sans soucis, donc il y a bien une particularité avec celle la, mais quoi...

to be continued... B)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 3 mois #21124 par acidric
finalement je me réponds à moi même, mais vu le temps que j'ai cherché, je poste ici, si ca peut servir un jour à quelqu'un....
je ne suis pas développeur WEB, du coup, j'ai du apprendre quelque concept de base pour comprendre mon problème...
et si un jour vous avez à faire le même genre de debug, fiddler est vraiment un outil indispensable ;-)

premier point, l'api que j'utilise n'utilise pas une authentification BASIC comme la plupart de celle que j'ai vu jusqu’à maintenant...
en fait il faut passer les credential dans le body de la requête, je ne sais pas quel nom cette authentification porte (si quelqu'un peut/veut compléter, je suis preneur...)
Ca j'ai trouvé assez vite, le soucis, c'est qu'une fois authentifié, ma requete JSON échouait... (login required...)
Après enquète, une fois authentifié, l'api me renvoi un cookie contenant mon authentification de session, il faut donc utiliser cette authentification dans les autres requêtes....

traduction en code:

[code:1]
$baseuri = 'xx.xx.xx.xx'

$credential = \&quot;`{`\&quot;username`\&quot;:`\&quot;mylogin`\&quot;,`\&quot;password`\&quot;:`\&quot;mypassword`\&quot;`}\&quot;

Invoke-restmethod -Uri \&quot;$baseuri/api/login\&quot; -method post -body $credential -ContentType \&quot;application/json; charset=utf-8\&quot; -SessionVariable myWebSession
$jsonresultat=Invoke-restmethod -Uri \&quot;$baseuri/api/s/default/stat\&quot; -WebSession $myWebSession

[/code:1]

le code est assez parlant...
mywebssession recoit le cookie lors de la première connexion, puis il s'en sers dans la seconde requête...

à noter qu'il peut être utile de rajouter du code pour accepter les certificats non signé...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 3 mois #21128 par Philippe
salut acidric

merci beaucoup pour ce retour d'info sur ce problème peu courant ! :) B)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 3 mois #21130 par Laurent Dardenne
salut acidric,
merci pour ton retour, j'apprécie :)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.098 secondes
Propulsé par Kunena