Question Api Json - Réponse Vide

Plus d'informations
il y a 3 semaines 1 jour #34541 par Le CHENADEC
Bonjour a Tous,
Je rencontre une difficulté en essayant de communiquer avec un serveur Zabbix (Supervision)
via ces API.

En Curl sur un serveur linux je n'ai pas de Problème
curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc": "2.0", "method": "user.login", "params": {"username": "BOB", "password": "BOB"}, "id": 1, "auth": null}' "zabbix.truc.fr/zabbix/api_jsonrpc.php"
Le serveur me répond
{"jsonrpc":"2.0","result":"890d4e7981493d95248f6ca8f1afb129","id":1}
le result contenant mon Jeton d'authentification

Je souhaite faire la même chose mais en Powershell

$params = @{
    body =  @{
        "jsonrpc"= "2.0"
        "method"= "user.login"
        "params"= @{
            "user"= 'BOB'
            "password"= 'BOB'
            "id"= 1
            "auth"= $null
        }
    } | ConvertTo-Json
    uri = "$URL_Zbx/api_jsonrpc.php"
    headers = @{"Content-Type" = "application/json"}
    method = "Post"
}

$Reponse = Invoke-WebRequest @params -UseBasicParsing
$Reponse


Je n'ai pas d'erreur d'éxécution, j'ai un code 200 en retour, tout semble OK
sauf que je n'ai pas de contenu

StatusCode        : 200
StatusDescription : OK
Content           :
RawContent        : HTTP/1.1 200 OK
                    Access-Control-Allow-Origin: *
                    Access-Control-Allow-Headers: Content-Type
                    Access-Control-Allow-Methods: POST
                    Access-Control-Max-Age: 1000
                    Keep-Alive: timeout=5, max=100
                    Connectio...
Forms             :
Headers           : {[Access-Control-Allow-Origin, *], [Access-Control-Allow-Headers, Content-Type], [Access-Control-Allow-Methods, POST], [Access-Control-Max-Age, 1000]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        :
RawContentLength  : 0


Avez-vous une une piste sur ce qui manque, pour qu'en retour j'arrive bien à récupérer la réponse
contenant mon Jeton de session.

Cdt,
Ch. Le Chenadec
 
Pièces jointes :

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

Plus d'informations
il y a 3 semaines 1 jour #34542 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Api Json - Réponse Vide
Bonjour Christophe,

Essaie d'utiliser plutôt le paramètre -ContentType de Invoke-RestMethod plutôt que d'envoyer dans le Header. Il me semble avoir déjà rencontré un problème similaire et ça venait de là.

Arnaud 

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Les utilisateur(s) suivant ont remercié: Le CHENADEC

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

Plus d'informations
il y a 2 semaines 6 jours #34547 par Le CHENADEC
Réponse de Le CHENADEC sur le sujet Api Json - Réponse Vide
Merci pour la piste a suivre


la Solution
#####################

$URL_Zbx = "zabbix.truc.fr/zabbix/api_jsonrpc.php"
$body = @{
jsonrpc = "2.0"
method = "user.login"
params = @{
username = 'BOB'
password = 'BOB'
}
id = 1
auth = $null
} | ConvertTo-Json

$headers = @{ "Content-Type" = "application/json" }

$response = Invoke-RestMethod -Uri $URL_Zbx -Method Post -Headers $headers -Body $body

$response

#################

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

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