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

Langage PHP Discussion :

Stream context create HTTPS


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 156
    Points : 131
    Points
    131
    Par défaut Stream context create HTTPS
    Salut à tous !!

    Voici mon problème :

    Je dois appeler une page php sur un serveur en http depuis un autre serveur qui lui est en https.

    Les deux serveur sont sous apache.

    Le but étant d'envoyer des données sur la page php (serveur http) et de recevoir une réponse.

    Donc avec un "fopen" ou un "file_get_contents".

    Mon code ci-dessous fonctionne très bien de http vers http

    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
    <?php
     
        $url='http://adresse_ip/mon_site/send.php'; 
        $data='variable='.urlencode($variable); 
     
    	$params = array('http' => array( 
            'method' => 'POST', 
    		'header'  => 'Content-type: application/x-www-form-urlencoded',
            'content' => $data)); 
     
    	$ctx = stream_context_create($params); 
     
    	$fp = @fopen($url, 'rb', false, $ctx); 
     
        if (!$fp) { 
            throw new Exception("Problem with $url, $php_errormsg"); 
        } 
     
        $response = @stream_get_contents($fp); 
     
        if ($response === false) { 
            throw new Exception("Problem reading data from $url, $php_errormsg"); 
        } 
     
        echo $response; 
     
    ?>
    Par contre quand je l’exécute de HTTPS vers HTTP en changeant cette partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $params = array('https' => array( 
            'method' => 'POST', 
    	'header'  => 'Content-type: application/x-www-form-urlencoded',
            'content' => $data));
    la page appelée sur le serveur en http ne reçoit pas le "$data" donc les variables...

    Merci pour votre aide !!

  2. #2
    Membre éprouvé Avatar de Shuty
    Homme Profil pro
    Ingénieur en développement
    Inscrit en
    Octobre 2012
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 630
    Points : 1 174
    Points
    1 174
    Par défaut
    C'est tout à fait normal. Dans ton cas, je préconosirerai l'utilisation de CURL. Il gère aussi bien l'http que l'https.

    http://unitstep.net/blog/2009/05/05/...otected-sites/
    Agence web Dim'Solution, créateur de solutions numériques
    Sites internet, ecommerce, logiciels, applications mobiles, référencement (SEO), plugin Prestashop, Magento, WordPress, Joomla!...

    Cours de trading gratuit | Envoyer des sms gratuitement | Envoyer des fax gratuitement | Plateforme de Fax à l'international

  3. #3
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 156
    Points : 131
    Points
    131
    Par défaut
    Ok ok oui j'avais vu qu'avec CURL ça fonctionnerait, le seul soucis c'est que l'extension n'est pas installée sur le serveur en question et aucune connexion internet n'est possible...

    J'ai finalement trouvé une autre solution c'est de passer les paramètres dans l'url donc en GET.

    Merci quand même !!

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

Discussions similaires

  1. [SimpleXML] Header, stream-context --> invalid user-agent
    Par Mister_bin dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 06/03/2015, 06h53
  2. [Stream][whHttpBinding] HTTP POST non authorisé
    Par freddyboy dans le forum Windows Communication Foundation
    Réponses: 2
    Dernier message: 18/05/2009, 13h45
  3. Lire et enregistrer du streaming http
    Par Aquanum dans le forum Réseau
    Réponses: 7
    Dernier message: 04/03/2009, 17h52
  4. failed to open stream: HTTP request failed
    Par Lorenzo77 dans le forum Langage
    Réponses: 4
    Dernier message: 09/06/2008, 23h01
  5. Réponses: 4
    Dernier message: 20/04/2005, 13h30

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