Précédent   Forum des professionnels en informatique > PHP > Outils > WAMP
WAMP Forum d'entraide sur WAMP (Windows Apache MySQL PHP) : installation, utilisation, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/02/2007, 20h07   #1
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
Par défaut file_get_contents() incompatible https

Bonjour.

Lorsque j'utilise la fonction file_get_contents() sur une url de type https, j'obtiens l'erreur :
Citation:
[function.file-get-contents]: failed to open stream: Invalid argument in test.php on line xxx
Je sais que les versions précédentes avaient ce bug.
J'ai essayé en upgradant mon php 5.2 en 5.2.1 sans succés.
J'utilise WAMP 1.6.6

Merci pour votre aide.
jpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2007, 09h09   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
Perso , je pense qu'avec un peu de code (au moins la ligne d'appel) , on pourra y voir plus clair !
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2007, 09h27   #3
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
en général si l'url passée est bonne, les problèmes entre file_get_contents et https renvoient plutôt une erreur parlant de wrapper ou de ssl non ?

comme dit RideKick, montre nous ton appel
tu peux aussi regarder du côté de curl
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 19h57   #4
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
Voici mon code :
Code :
$contents = file_get_contents("https://www.bwin.com/betsnew.aspx?leagueIDs=34");
Et voici ce que j'obtiens :
Citation:
Warning: file_get_contents(https://www.bwin.com/betsnew.aspx?leagueIDs=34) [function.file-get-contents]: failed to open stream: Invalid argument in tests.php on line xx
Merci pour votre réponse.
jpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 20h19   #5
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
Et avec cURL pas mieux.

Code :
1
2
3
4
5
6
7
8
9
$ch = curl_init("https://www.bwin.com/betsnew.aspx?leagueIDs=34");
$fp = fopen("test.txt", "w");
 
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
 
curl_exec($ch);
curl_close($ch);
fclose($fp);
me donne :
Citation:
Fatal error: Call to undefined function curl_init()
jpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2007, 23h25   #6
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
la page que tu indiques, j'arrive pas à l'accéder... soit leur serveur a un soucis, soit elle n'existe pas et c'est alors normal que file_get_contents puisse pas la lire

pour curl t'as bien installer la librairie ?
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 02h03   #7
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
Citation:
Envoyé par Dia_FR
la page que tu indiques, j'arrive pas à l'accéder... soit leur serveur a un soucis, soit elle n'existe pas et c'est alors normal que file_get_contents puisse pas la lire
L url fonctionne tres bien.
Essaie avec celle ci :
https://www.nordicbet.com/selection?...tegory_ids=10#

Citation:
pour curl t'as bien installer la librairie ?
Comment dois je faire ?
J ai pourtant bien decommenter la ligne
extension=php_curl.dll
du php.ini
jpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 08h13   #8
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
ouais cette fois j'ai pu accéder à la page, hier soir non

pour installer curl, c'est tout marqué http://us2.php.net/manual/fr/ref.curl.php

désolé je peux pas t'aider bien plus que ça, je vois pas trop d'où peut venir le soucis
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 09h12   #9
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
J'ai apris hier qu'on pouvaut utiliser fopen() si allow_url_open() etait activée ...

par contre la ou je suis pas sur que ça puisse marcher dans ton cas c est que tu accede a une page securisée....

https://www.bwin.com/betsnew.aspx?leagueIDs=34
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 14h21   #10
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
En fait, c'était tout bête.
J'ai décommenté la ligne du fichier php.ini qui se trouvait dans le dossier php alors que c'est le fichier php.ini du dossier Apache2 qu'il fallait modifier.

Le problème qui s'est posé ensuite, c'est la récupération d'une page blanche.
Je l'ai résolu en utilisant l'option CURLOPT_SSL_VERIFYPEER (égal à 0).

Mon problème est donc résolu mais cela n'explique pas pourquoi la fonction file_get_contents() ne récupère pas le html.
Je laisse donc le soin à un modérateur de marquer le sujet comme 'Résolu' s'il le considère comme tel.

Merci à vous de m'avoir aiguillé.
jpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 21h00   #11
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Citation:
Envoyé par jpascal
mais cela n'explique pas pourquoi la fonction file_get_contents() ne récupère pas le html.
Peut-être que la réponse se trouve ici :
Citation:
AVERTISSEMENT
Lorsque vous utilisez SSL, le serveur IIS de Microsoft violera le protocole en fermant la connexion sans envoyer l'indicateur close_notify. PHP le reportera en tant que "SSL: Fatal Protocol Error" quand vous arrivez à la fin des données. L'astuce est de baisser le niveau de la directive error_reporting pour ne pas inclure les warnings. À partir de PHP 4.3.7, le bogue est détecté automatiquement lors de l'ouverture du flux en utilisant https:// et supprimera cet avertissement pour vous. Si vous utilisez fsockopen() pour créer une socket ssl://, vous devez vous occuper vous-même de supprimer l'erreur
http://php.bigbiz.com/manual/fr/func...t-contents.php
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2007, 02h05   #12
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
Ce n'est pas cela car ma version est la 5.2.0
jpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h02.


 
 
 
 
Partenaires

Hébergement Web