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 :

Curl Failed to connect to www.mon-site.com port 443: Connection timed out


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut Curl Failed to connect to www.mon-site.com port 443: Connection timed out
    Bonjour,

    Quand je veux récupérer le contenu d'une de mes page web avec CURL, j'ai le message d'erreur suivant :
    Failed to connect to www.mon-site.com port 443: Connection timed out
    Précisions :
    1. Je suis en mutualisé chez OVH
    2. Le script ci-dessous fonctionnait parfaitement il y 2 mois
    3. Il fonctionne avec d'autres URL qu'arizona-dream.com
    4. Il fonctionne parfaitement en local


    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
    $fichier_a_parser = 'https://www.arizona-dream.com'; 
    //$fichier_a_parser = 'https://www.google.com'; 
     
    $curl = curl_init(); // Initialiser CURL 
    curl_setopt($curl, CURLOPT_URL, $fichier_a_parser); // Définir l'adresse à ouvrir 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); // Suivre les redirections s'il y en a 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // Permet de stocker dans la ligne suivante l'output dans la variable page 
    curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0'); // Définition du header "User-Agent:" 
     
    $page = curl_exec($curl); // Exécuter 
     
    // Si erreur 
    if(curl_exec($curl) === false) { 
        echo 'Erreur Curl : ' .curl_error($curl); 
    } 
    else { 
        echo $page; 
    } 
     
    curl_close($curl); // Fermer pour libérer des ressources systèmes
    Quelqu'un aurai une idée ?

  2. #2
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    Par défaut
    Bonjour

    Tu essaies d'accéder à une URL en https et donc le port 443.

    Tu peux ignorer le contrôle SSL avec une commande comme ci-dessous. Note que, du coup, c'est comme si tu étais en http et donc sur une connexion non sécurisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

  3. #3
    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 : 40
    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 230
    Points
    20 230
    Par défaut
    Pour que curl soit capable d'accéder à des url sécurisé il faut lui donner un fichie rde certificat lui permettant de valider ou non les certificat qu'il essai de contacter :

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $certificate = "/var/curl/cacert.pem";
    curl_setopt($ch, CURLOPT_CAINFO, $certificate);
    curl_setopt($ch, CURLOPT_CAPATH, $certificate);
    Ce genre de fichier peut être trouvé ici : https://curl.se/docs/caextract.html

    L'autre solution comme l'évoque cavo789 c'est de dire à curl de ne pas vérifier les certificats. Ca peut être une solution acceptable si on est 100% certains de l'url qu'on interroge. Mais c'est généralement pas recommandé car on s'expose à plein de problème de sécurité.

    Citation Envoyé par cavo789 Voir le message
    Note que, du coup, c'est comme si tu étais en http et donc sur une connexion non sécurisée :
    Pas tout à fait , le contenu est toujours chiffré lors de la communication , il n'est en revanche plus authentifié.

  4. #4
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Bonjour et merci pour vos réponses.

    J'ai essayé les 2 solutions et cela ne fonctionne toujours pas.

    De plus, excusez moi, mais je suis dubitatif sur ces solutions car : Vous liez le problème au SSL mais dans ce cas, cela ne devrai pas fonctionner en locale et ni sur https://www.google.com ?

    Or, comme expliqué dans mon premier message, le script fonctionne en local ET sur d'autres url comme https://www.google.com

    Une autre piste ?

  5. #5
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    Par défaut
    Bonjour

    J'avoue ne pas comprendre ta phrase ci-dessous :

    Citation Envoyé par elcoyotos Voir le message
    Or, comme expliqué dans mon premier message, le script fonctionne en local ET sur d'autres url comme https://www.google.com
    Peux-tu essayer ton script (premier post) mais sur un site internet en http et pas https. Peux-tu confirmer que ton script fonctionne alors ?
    Si cela fonctionne (et cela devrait fonctionner), il faudrait trouver un site qui est accessible est en http et en https pour que tu puisses voir la différence de comportement.

  6. #6
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Je me suis certainement mal exprimé.

    Peut être est ce plus clair comme cela :


    1. Mon script fonctionne en local
    2. Mon script ne fonctionne pas depuis les serveurs d'OVH


    Donc, mon script (en local), accède bien à des url sécurisées.
    Ce n'est donc pas un problème lié à SSL ?

  7. #7
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    Par défaut
    OK plus clair pour moi, merci pour la reformulation.

    Cela démontre surtout une configuration qui est différente. En local tu as quelque part un "ssl ignore" (désolé je ne sais pas où).

    Sur ovh, tente un site http et vois si ça marche...

    Le port 443 est celui lié à https et donc ssl.

  8. #8
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Si j'ai un "ssl ignore" en local ? Alors là, je ne sais pas non plus ou trouver cette info !
    Je tente demain un http chez OVH et je poste le résultat
    Et surtout, merci pour ton aide !
    Juste une chose, serai t-il possible qu'OVH est mis l'IP de mon site dans un firewall ?

  9. #9
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    J'ai fait l'essai en http sur les serveurs d'OVH. Ca fonctionne.
    Il est étrange que cela fonctionne en https en local (avec rigoureusement le même script) et pas sur les serveurs d'OVH ?

  10. #10
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    Par défaut
    Relis nous, on t'a apporté les explications et solutions.

  11. #11
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Ma réponse a été supprimée sans explication. Comprend pas pourquoi ?
    J'expliquais que j'avais testé les 2 solutions proposées et qu'elles n'avaient eu aucun effet.
    J'avais mis 2 captures d'écran de la config curl en local et chez ovh...

  12. #12
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 094
    Points : 16 606
    Points
    16 606
    Par défaut
    Salut
    Citation Envoyé par elcoyotos Voir le message
    Ma réponse a été supprimée sans explication. Comprend pas pourquoi ?
    ...
    Je n'ai rien trouvé, ni en modification ni en suppression.
    Pourrais-tu nous indiquer dans quelle discussion et le N° du message ?

  13. #13
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Pourrais-tu nous indiquer dans quelle discussion et le N° du message ?
    Je ne connais pas le n° du message et la discussion, est celle affichée sur cette page...
    Peut être n'ai je pas cliqué sur le bouton envoyé alors ?

  14. #14
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 094
    Points : 16 606
    Points
    16 606
    Par défaut
    Re
    Citation Envoyé par elcoyotos Voir le message
    Je ne connais pas le n° du message et la discussion, est celle affichée sur cette page...
    Je peux te confirmer qu'aucun message n'a été modifié pour supprimer une réponse et qu'aucun message n'a été supprimé,


    Citation Envoyé par elcoyotos Voir le message
    ...Peut être n'ai je pas cliqué sur le bouton envoyé alors ?
    Cela arrive effectivement.

  15. #15
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    C’est probablement la configuration du serveur web mutualisé qui refuse de parler à curl parce qu’il ne passe pas d’identité de browser connu ou la configuration de son firewall.

Discussions similaires

  1. [Python 3.X] Scrapy: TCP connection timed out: 10060 (site qui ne répond plus)
    Par Pearate dans le forum Général Python
    Réponses: 4
    Dernier message: 16/01/2020, 13h33
  2. [PHP 5.4] curl et php : (28): connect() timed out!
    Par yule dans le forum Langage
    Réponses: 0
    Dernier message: 19/08/2014, 20h49
  3. TestNG : Connection timed out
    Par onclezeb dans le forum Seam
    Réponses: 1
    Dernier message: 13/06/2008, 11h24
  4. Tâche cron et Connection timed out in headers ?
    Par sam_owm dans le forum Apache
    Réponses: 1
    Dernier message: 24/04/2008, 10h00
  5. [IdWhois] Connect Timed Out
    Par xenos dans le forum Delphi
    Réponses: 7
    Dernier message: 06/06/2006, 11h05

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