Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 54
    Points : 32
    Points
    32

    Par défaut Guzzle et caractères spéciaux

    Bonjour,

    J'essaye d'utiliser Guzzle pour faire appel à un webservice.
    Je suis pour l'insant en phase de test/Développement.

    ET j'ai un gros problème quand j'envoie une requete comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $request = $client->get("http://localhost:4040/TEST/query?query= 'SELECT * WHERE {?s ?p ?o .}'");
    et que je fait afficher la requete, (avant envoi donc)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dump($request->getUrl());
    j'obtiens ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "http://localhost:4040/TEST/query?query=%20%27SELECT%20%2A%20WHERE%20%27"
    Curieusement guzzle supprime tout ce qui se trouve après le char '{' .

    Une explication, une idée ? question de paramétrage, de traitement de chaine avant envoi ou alors?

    Merci pour vos réponses,

    Pi

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    7 120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 7 120
    Points : 11 207
    Points
    11 207

    Par défaut

    essayez en passant le paramètre dans un tableau comme ça par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $client->request('GET', 'http://localhost:4040/TEST/query', [
        'query' => ['query' => 'SELECT * WHERE {?s ?p ?o .}']
    ]);

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 54
    Points : 32
    Points
    32

    Par défaut Il faut utiliser urlencode

    J'ai mis du temps à répondre ...


    Je pense que la soution de passer par un tableau est bonne,
    je l'ai utilisée pour envoyer des variables post...

    Mais la solution que j'ai trouvé pour résoudre ce problème est finalement assez simple.
    Il faut utiliser urlencode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            $url = urlencode("SELECT * WHERE {?s ?p ?o .}");
            $request = $client->get("http://localhost:3030/test/query?query=$url");
            $response = $request->send();
            echo $response->getBody();
    En espérant que ça serve...

    Pi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. caractères spéciaux
    Par mat10000 dans le forum Flash
    Réponses: 16
    Dernier message: 23/10/2003, 13h22
  2. Où trouver la liste des caractères spéciaux?
    Par gamez dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2003, 17h54
  3. Transformation XSL et caractères spéciaux
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 4
    Dernier message: 28/04/2003, 10h38
  4. [Sybase] filtre sur caractères spéciaux
    Par montelieri dans le forum Sybase
    Réponses: 4
    Dernier message: 07/04/2003, 16h49
  5. Traiter les caractères spéciaux
    Par ricola dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2003, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo