Y a-t-il quelqu'un qui a travaillé sur les API HP ALM avec PHP?Envoi de l'ID de cookie et de session à l'API HP ALM
Je reçois les cookies de qcbin/api/authentification/signature API
Mais quand je suis en train d'envoyer ces cookies aux autres API suivantes, son retour me httpcode 401 qui est pas authentifié.
J'utilise également l'API qcbin/authentication-point/authenticate et l'API qcbin/api/site-session pour obtenir et gérer les sessions.
Mon code est le suivant:
$ url = "https://myhost/qcbin/api/authentication/sign-in"; $ credentials = $ utilisateur. ':'. mot de passe $; $ headers = array ("GET /HTTP/1.1","Authorization: Basic". Base64_encode ($ credentials));
curl_setopt($qc, CURLOPT_URL, $url);
curl_setopt($qc, CURLOPT_HTTPGET,1);
curl_setopt($qc, CURLOPT_HTTPHEADER, $headers);
curl_setopt($qc, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt($qc, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($qc);
$response = curl_getinfo($qc);
Je suis en train d'obtenir les dossiers de jeu de test:
$ FOLDER_NAME = "nom_dossier"; $ nom_sécuritaire = rawurlencode ($ nom_dossier); $ url = "https://myhost/qcbin/rest/domains/NETWORKS_QUALITY/projects/NETWORKS/test-set-folders?query= {name ['". $ nom_sécuritaire. "']}";
$qc = curl_init();
curl_setopt($qc, CURLOPT_URL, $url);
//curl_setopt($qc, CURLOPT_HTTPHEADER, $headers);
curl_setopt($qc, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($qc, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($qc, CURLOPT_COOKIE,$ckfile);
curl_setopt($qc, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($qc, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($qc, CURLOPT_VERBOSE, true);
$result = curl_exec($qc);
$response = curl_getinfo($qc);
this response returns me httpcode 401 instead of 200. Please help me if anybody worked on this before.
Merci Biswajit Jena
Merci Marco. Oui, je reçois 200 de l'API d'authentification. Selon votre commentaire, je dois envoyer le cookie en en-tête. J'ai essayé d'envoyer le cookie dans l'en-tête aussi, mais n'a pas fonctionné. – Biswajit
En python par exemple, mes requêtes ressemblent à: mySession.get (url, data = xml_data, header = my_header). Très probablement je suppose que dans votre cas, vous devriez vérifier comment envoyer l'en-tête par l'utilisation de l'action curl. –
Pendant le processus d'authentification puisque c'est le premier message que vous n'utilisez aucun en-tête important;) alors le LSSO-Cookie doit être utilisé. –