Aller au contenu

fopen et HTTPS


plusdegolf

Sujets conseillés

Bonjour à tous,

je suis en train de m'arracher les cheveux. J'utilise depuis longtemps la fonction fopen pour lire le code source de page en http://. Par contre, je suis incapable d'utiliser la même fonction avec des page en https:// SSL.

Pour info, l'extension OPENSSL est bien active sur mon EASYPHP avec PHP 4.3.10 .

AUUUU SSSEECCCOOOURS !! et merci d'avance, Julien

Pour info, le code utilisé est:

<?php

$fp = fopen(&quot;https://www.vopen.com","r");

if (!$fp) {

echo "Erreur";

} else {

fwrite($fp, $out);

while (!feof($fp)) {

echo fgets($fp, 128);

}

fclose($fp);

}

?>

Lien vers le commentaire
Partager sur d’autres sites

Pour que OpenSSL fonctionne en Php 4.3, il faut que cette option soit compilée statiquement, ce qui n'est vraisemblablement pas le cas chez toi...

Les modes ssl:// et tls:// (disponibles uniquement lorsque le support OpenSSl est compilé avec PHP) sont des extensions de tcp:// qui incluent le chiffrement SSL. En PHP 4.3, OpenSll doit être compilé statiquement avec PHP. en PHP 5.0, il peut être compilé en module ou statiquement.

De plus, la page que tu veux inclure dans ton exemple est un frameset, dont les frames sont définies avec URLs locales.. donc tu ne pourras pas les afficher ;)

Dan

Lien vers le commentaire
Partager sur d’autres sites

Tu es sous Windows, et tu n'as donc vraisemblablement pas les outils pour compiler les sources.

Il te faut un compilateur C++ ... pas courant dans le monde Windows :(

Le plus simple serait d'installer Wamp en lieu et place de EasyPhp, cela te donnerait Php5, et une extension openssl qui fonctionne.

Chez moi ton script exemple tourne sous WampServer et donne bien la page de frameset. Mais comme les 2 URLs des frames n'existent pas en local, j'ai deux frames avec une erreur 404... mais cela je te l'avais annoncé.

Pour WampServer, c'est par là: http://www.wampserver.com (il suffit d'activer l'extension OpenSSL dans le menu déroulant ensuite)

Lien vers le commentaire
Partager sur d’autres sites

Merci encore Dan pour cette info. J'ai installé Wampserver sur mon windows XP familial mais le serveur apache crashe sans arrêts... mais effectivement je n'ai pas de soucis pour parser une adresse https:.

Julien

Lien vers le commentaire
Partager sur d’autres sites

As-tu bien retiré EasyPhp, et surtout le service httpd ? ... parce que si tu en as deux qui écoutent en parallèle sur le port 80, ça va effectivement crasher ;)

Lien vers le commentaire
Partager sur d’autres sites

As-tu bien retiré EasyPhp, et surtout le service httpd ? ... parce que si tu en as deux qui écoutent en parallèle sur le port 80, ça va effectivement crasher

A priori c'est impossible sous windows que deux services apache ecoutent sur le même port (et sous linux non plus d'ailleurs pour apache...), il y a une erreur au lancement d'apache qui dit que le port est deja utilisé par une autre application

Lien vers le commentaire
Partager sur d’autres sites

Tu as raison, mais si le service attaché à EasyPhp est lancé, le service de Wampserver ne démarrera pas... donc cela pourra poser quelques problèmes.

Idem pour le service mysql, ils écoutent tous deux sur le même port mais ont des noms différents entre easyphp et wamp :)

Lien vers le commentaire
Partager sur d’autres sites

Tout à fait d'accord, mais je ne pense pas que ce soit cela qui provoque l'instabilité d'apache sous windows.

Les deux (apache 1 & 2) sont pourtant stables à priori, à moins que ce ne soit l'extension à proprement parlé qui provoque des instabilités

_AT_plusdegolf : tu entends quoi par "le serveur apache crashe sans arret" ?

Lien vers le commentaire
Partager sur d’autres sites

Dès que j'essaye de charger une page PHP contenant une raquète mysql, le serveur apache crashe. "APACHE http Server a rencontré un problème et doit fermer..."

La signature de l'erreur est:

szAppName : Apache.exe szAppVer : 2.0.59.200 szModName : php5ts.dll

szModVer : 5.1.6.6 offset : 000982ac

Lien vers le commentaire
Partager sur d’autres sites

Dans ce cas il est possible que ce soit dû à deux serveur mysql qui ecouteraient en même temps sur le même port...

Au niveau des services, tu as bien coupé ceux de Easyphp avant de lancer wampserver (et d'ailleurs, un petit temps est nécessaire ensuite, de mémoire, pour que els services soient réellement stopés)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...