IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Bibliothèques et frameworks PHP Discussion :

[Web Service] Appel HTTP et affichage résultat


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut [Web Service] Appel HTTP et affichage résultat
    Bonjour,

    Je souhaite mettre en place une solution assez simple :

    Mon script php fait un appel http avec certains paramètres vers le script de mon serveur, le script du serveur exécute son traitement, et retourne un résultat en json (oui j'utilise json_encode)

    et j'aimerais afficher le résultat json dans ma page.

    Quelle solution utilisez facilement ?

    D'avance merci.

    Vince

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    si tu veux afficher le résultat n'utilise pas json_decode justement

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    salut,
    j'utilise json_encode car le but du traitement sur le serveur est de renvoyer la réponse sur un téléphone mobile (iphone, smartphone).

    je fais le test depuis un script PHP pour vérifier mon traitement serveur, la communication entre les 2...

    si je modifie mon traitement serveur pour simplement retourner une string, ça devrait fonctionner ?

    merci

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    Bonjour,

    Toujours pas d'idée par un week-end aussi long ...

    Pour info, mon serveur utilise le framework Zend, je dois y développer un script qui sera appelé par des applis mobiles.

    Une idée de la meilleure solution?
    merci.

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    le json c'est juste du texte, je vois pas ton problème. Montre un exemple concret

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    salut,
    finalement, j'ai changé d'avis, je tente d'utiliser l'objet HttpRequest() depuis Windows, pour l'instant, je cherche une solution pour l'installer.
    Je ne trouve pas la dll ...
    A+

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par vince29 Voir le message
    salut,
    finalement, j'ai changé d'avis, je tente d'utiliser l'objet HttpRequest() depuis Windows, pour l'instant, je cherche une solution pour l'installer.
    Je ne trouve pas la dll ...
    A+
    t'as quelle version de PHP et quelle type de compilation (VC*)

    mais je vois pas pourquoi t'as besoin de ça...
    c'est un peu flou ton probleme

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    je suis en version php 5.3
    et compiler : compiler : MSVC6 (Visual C++ 6.0)

    Ce que je recherche à faire :
    je dois développer des apis sur mon serveur Zend pour retourner des infos sur une application mobile, les protocoles utilisés sont HTTP et JSON (plus performant sur mobile que XML)

    Pour cette partie là, normalement, pas de soucis, mais pour faire le teste, je cherche un générer un script php qui fasse l'appel HTTP vers mon serveur, et affiche le résultat attendu.

    Merci.

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    sur l'autre message t’était en PHP 5.2
    et même ça ne dit toujours as la version 5.3 mais combien combien 5.3.?

    si tu veux faire une requete HTTP et voir le résultat utilise, un simple file_get_contents, et si tu veux voir toutes les entête utilise les sockets

  10. #10
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Pour ta première question, un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo file_get_contents('http://ws.com/monscript.php?arg');
    Si la requête http est plus complèxe l'utilisation de cURL devrait faire l'affaire
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    c'est 5.3.0.
    j'ai testé fil_gets_content, mais aucun résultat ...
    merci

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    page blanche ? t'as bien fais un htmlspecialchars dessus ? du coté ton appli zend t'a rien dans tes log ?
    pourquoi tu n'affiche pas la page direct avec ton navigateur ?

  13. #13
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    page blanche, non, mais il m'affiche la page html en réponse au lieu du tableau de donnée attendue....
    et rien dans les logs du serveur Zend, non, donc ça m'aide pas bcp

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par vince29 Voir le message
    page blanche, non, mais il m'affiche la page html en réponse au lieu du tableau de donnée attendue....
    et rien dans les logs du serveur Zend, non, donc ça m'aide pas bcp
    donc t'as un réponse, montre ce que tu fait un niveau de ton contrôleur et de ta vue

  15. #15
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    ok c'est très simple:

    voici mon controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    class webserviceController extends Zend_Controller_Action {
     
    	function testAction(){
     
    		Zend_Loader::loadClass('Zend_Filter_StripTags');
        	$filter = new Zend_Filter_StripTags();
        	$valeurTest = $filter->filter($this->_request->getParam('valeurTest'));
     
    		if($valeurTest != ""){
     
    			$response = array();
    			$response ['valeurRecue'] = $_GET['valeurTest'];
    			$response ['message'] = 'Bonjour'; 
     
     
    			/* output in necessary format */
    			header('Content-type: application/json');
    			return json_encode(array('response'=>$response));
    		}else{
    			$response = array();
    			$response ['valeurRecue'] = 'Aucun parametre';
    			$response ['message'] = 'Bonjour'; 
     
     
    			/* output in necessary format */
    			header('Content-type: application/json');
    			return json_encode(array('response'=>$response));
     
    		}
    	}
    }
    ?>
    et dans ma vue, je n'ai rien, car je ne souhaite rien afficher, seulement retourner un résultat

    Merci

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    et le HTML reçus ça donne quoi, ton return retourne a qui ? c'est un echo qu'il faut faire, il faut aussi déactivé la vue

  17. #17
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    je veux récupérer la réponse du script serveur pour l'interpréter côté appli mobile pour afficher les données, donc je pensais que le "return" était plus adapté.
    Le html renvoyé est la page d'accueil du site que je contacte.
    je vais voir comment désactiver la vue zend, merci.

    Pour faire le test, mon script php contient sur un serveur différent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $opts = array(
      'http'=>array(
        'method'=>"GET",
        'header'=>"Accept-language: en\r\n" .
                  "Cookie: foo=bar\r\n"
      )
    );
     
    $context = stream_context_create($opts);
     
    // Accès à un fichier HTTP avec les entêtes HTTP indiqués ci-dessus
      $ch = file_get_contents( 'https://monserveur.com/webservice/test', false, $context );
      echo $ch;

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ton contexte sert a rien, et donc echo pas return

  19. #19
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    ça ne change rien, sincèrement, je ne comprends plus rien.

  20. #20
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    montre ton dernier code

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Appel d'un web service via HTTPS
    Par IMPRO dans le forum Services Web
    Réponses: 0
    Dernier message: 17/03/2014, 11h11
  2. Web Service via https
    Par Choun dans le forum Services Web
    Réponses: 0
    Dernier message: 02/07/2009, 16h56
  3. Problème d'accès à un web Service en HTTPS.
    Par eric39 dans le forum Services Web
    Réponses: 2
    Dernier message: 17/12/2008, 09h55
  4. Un web service appelle la methode d'un autre web service
    Par afrold dans le forum Services Web
    Réponses: 7
    Dernier message: 21/06/2008, 10h08
  5. Pocket Pc Web Service Et Https
    Par lizati dans le forum Services Web
    Réponses: 2
    Dernier message: 29/06/2007, 09h20

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