Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-01-2011 13:31:04

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

[Zend_Http] Probleme pour utiliser Curl

Bonjour à tous je souhaite remplacer ce code qui fonctionne parfaitement :

Code:

<?php
$rpxApiKey = 'REPLACE_WITH_YOUR_RPX_API_KEY'; 
if(isset($_POST['token'])) {
    $token = $_POST['token'];
    /* Use the token to make the auth_info API call */
    $post_data = array('token' => $_POST['token'],
                       'apiKey' => $rpxApiKey,
                       'format' => 'json');
                       
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_URL, 'https://rpxnow.com/api/v2/auth_info');
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    $raw_json = curl_exec($curl);  curl_close($curl);
    /* STEP 3: Parse the JSON auth_info response */
    $auth_info = json_decode($raw_json, true);
    if ($auth_info['stat'] == 'ok') {
        /* STEP 3 Continued: Extract the 'identifier' from the response */
        $profile = $auth_info['profile'];
        // etc...
        }
    }
?>

Par ce code qui ne fonctionne pas xD . L'erreur retourné est une erreur au niveau du passage de clé d'api qui n'est apparement pas transmis, bien que configuré ici : CURLOPT_POSTFIELDS => $post_data , de la même façon que le code ci-dessous.

Code:

<?php
$rpxApiKey = 'REPLACE_WITH_YOUR_RPX_API_KEY'; 
if(isset($this->getRequest()->getPost('token')) {
    $token = $this->getRequest()->getPost('token'), ;
    $post_data = array('token' => $_POST['token'],
                       'apiKey' => $rpxApiKey,
                       'format' => 'json');
    /* Use the token to make the auth_info API call */
    $config = array(
        'adapter'   => 'Zend_Http_Client_Adapter_Curl',
        'curloptions' => array(CURLOPT_RETURNTRANSFER => true,
                               CURLOPT_URL => 'https://rpxnow.com/api/v2/auth_info',
                               CURLOPT_POST => true,
                               CURLOPT_POSTFIELDS => $post_data,
                               CURLOPT_HEADER => false,
                               CURLOPT_SSL_VERIFYPEER => false),
    );
    $client = new Zend_Http_Client($uri, $config);
    $result = $client->request();

    $auth_info = json_decode($result, true);
    if ($auth_info['stat'] == 'ok') {
        /* STEP 3 Continued: Extract the 'identifier' from the response */
        $profile = $auth_info['profile'];
        // etc...
    }
}
?>

Quelqu'un à t-il une idée? Merci d'avance pour votre aide.

Hors ligne

 

#2 20-01-2011 13:52:51

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Zend_Http] Probleme pour utiliser Curl

$uri n'existe pas
tu appelle donc

Code:

new Zend_Http_Client(null, $config);

sinon comme ça je ne vois pas
A+JYT

Hors ligne

 

#3 20-01-2011 14:32:06

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Zend_Http] Probleme pour utiliser Curl

Oui, en faite j'ai refais le code de tête au bureau :$,dans la version que j'ai chez moi j'utilise bien un $uri, pardon :$

Je comprend pas pourquoi il me retourne une erreur de clé non transmisse. Merci de t'être penché dessus wink

Dernière modification par shadypierre (20-01-2011 14:32:35)

Hors ligne

 

#4 21-01-2011 22:43:57

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Zend_Http] Probleme pour utiliser Curl

sad j'ai vraiment besoin d'un petit coup de main hmm

Hors ligne

 

#5 24-01-2011 09:03:24

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Zend_Http] Probleme pour utiliser Curl

Tu peux nous renvoyer le code et le message d'erreur complet ? (si tu as une pile d'erreur, la pile complète)

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#6 24-01-2011 12:58:16

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Zend_Http] Probleme pour utiliser Curl

Voici la code exact que j'execute :

Code:

        if ($this->getRequest()->getPost('token'))
        {
            /* STEP 1: Extract token POST parameter */
            $token = $this->getRequest()->getPost('token');
            /* STEP 2: Use the token to make the auth_info API call */
            $post_data = array('token' => $token,
                               'apiKey' => $rpxApiKey,
                               'format' => 'json');
            $uri = 'https://rpxnow.com/api/v2/auth_info';

            $config = array(
                        'adapter' => 'Zend_Http_Client_Adapter_Curl',
                        'curloptions' => array(CURLOPT_RETURNTRANSFER => true,
                                               CURLOPT_POST => true,
                                               CURLOPT_POSTFIELDS => $post_data,
                                               CURLOPT_HEADER => false,
                                               CURLOPT_SSL_VERIFYPEER => false
                                               ),
                        );
            $client = new Zend_Http_Client($uri, $config);
            $result = $client->request();
            /* STEP 3: Parse the JSON auth_info response */
            print_r($result);
        }

Et j'obtiens :

Zend_Http_Response Object ( [version:protected] => 1.1 [code:protected] => 200 [message:protected] => OK [headers:protected] => Array ( [Server] => nginx [Date] => Mon, 24 Jan 2011 11:55:38 GMT [Content-type] => text/javascript; charset=utf-8 [Connection] => close [Set-cookie] => _accelerator_session_id=41e8d0f76699755b2201cfd19cd6292d; path=/ [Status] => 200 OK [Etag] => "e0f599c4216fdf871c3b73d87843148c" [X-runtime] => 4ms [Content-length] => 66 [Cache-control] => private, max-age=0, must-revalidate [P3p] => CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" ) [body:protected] => {"err":{"msg":"Missing parameter: apiKey","code":0},"stat":"fail"} )

Merci

Hors ligne

 

#7 28-01-2011 00:51:11

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Zend_Http] Probleme pour utiliser Curl

Pas la moindre piste sad ???

Hors ligne

 

#8 11-02-2011 18:54:00

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Zend_Http] Probleme pour utiliser Curl

UP :$

Hors ligne

 

#9 12-02-2011 12:27:47

dev-k
Membre
Lieu: Barcelona
Date d'inscription: 18-07-2009
Messages: 77
Site web

Re: [Zend_Http] Probleme pour utiliser Curl

Salut,

Le message dit qu'il te manque apiKey.
Que vaut ta variable $rpxApiKey ??

Hors ligne

 

#10 15-02-2011 09:15:46

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Zend_Http] Probleme pour utiliser Curl

Salut,

$rpxApiKey contient ma clé d'API et elle est bien défini juste au dessus (et j'ai déja essayé de l'écrire en dure directement). Mais rien à faire j'ai tjr la meme erreur hmm

Hors ligne

 

#11 15-02-2011 09:25:59

dev-k
Membre
Lieu: Barcelona
Date d'inscription: 18-07-2009
Messages: 77
Site web

Re: [Zend_Http] Probleme pour utiliser Curl

Et si tu faisais plutôt ça, au lieu de passer tes paramètres POST à curl, tu passes à zend_http_client avec la méthode setParameter ?

Code:

if ($this->getRequest()->getPost('token'))
        {
            /* STEP 1: Extract token POST parameter */
            $token = $this->getRequest()->getPost('token');
            /* STEP 2: Use the token to make the auth_info API call */
            $post_data = array('token' => $token,
                               'apiKey' => $rpxApiKey,
                               'format' => 'json');
            $uri = 'https://rpxnow.com/api/v2/auth_info';

            $config = array(
                        'adapter' => 'Zend_Http_Client_Adapter_Curl',
                        'curloptions' => array(CURLOPT_RETURNTRANSFER => true,
                                               CURLOPT_POST => true,
                                               CURLOPT_HEADER => false,
                                               CURLOPT_SSL_VERIFYPEER => false
                                               ),
                        );
            $client = new Zend_Http_Client($uri, $config);
            $client->setParameter($post_data);
            $result = $client->request();
            /* STEP 3: Parse the JSON auth_info response */
            print_r($result);
        }

Hors ligne

 

#12 05-03-2011 10:11:54

dev-k
Membre
Lieu: Barcelona
Date d'inscription: 18-07-2009
Messages: 77
Site web

Re: [Zend_Http] Probleme pour utiliser Curl

Salut,


As-tu résolu ton problème??

Hors ligne

 

#13 05-03-2011 23:20:47

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Zend_Http] Probleme pour utiliser Curl

Non ça n'a rien donné, dsl j'avais omis de répondre. Du coup j'ai laissé comme ça et je suis passé à la suite pour le moment hmm

Hors ligne

 

#14 15-06-2012 22:23:42

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Zend_Http] Probleme pour utiliser Curl

Ça pourra peut être servir à quelqu'un, j'ai retravaillé avec curl et j'ai trouvé mon erreur, j'avais simplement oublié le ->getBody(), ce qui donne donc :

Code:

$client->request()->getBody();

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages