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 :

Connexion cURL via un proxy


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 50
    Points
    50
    Par défaut Connexion cURL via un proxy
    Bonjour,

    Après beaucoup de recherches sur le net, je n'arrive pas à résoudre mon problème.

    j'utilise cURL pour me connecter à un web service. Je n'ai jamais fais cela avant donc un peu compliqué. Pour rajouter un peu de difficulté, je passe par un proxy.

    Lorsque je lance mon script, celui-ci me renvoi l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur Curl : error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)
    Au final je ne sais pas trop d'ou vient le problème (même si j'en ai une vague idéee SSL routines), et je n'arrive pas à ma connecter.

    Auriez-vous une idée qui pourrais m'orienter?

    Voici mon code :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    $url = 'https://******************';
    $timeout = 10;
     
    $proxy_host = 'PROXY:PROXY_PORT';
    $proxy_ident = 'LOGIN:PASSWORD';
     
    $ch = curl_init($url);
     
    //curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
     
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
     
    if (preg_match('`^https://`i', $url))
    {
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    }
     
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     
    curl_setopt($ch, CURL_FAILONERROR, true);
    curl_setopt($ch, CURLOPT_POST, true);
     
    curl_setopt($ch, CURLOPT_POSTFIELDS,$header);
     
     
    // Activation de l'utilisation d'un serveur proxy
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
     
    // Définition de l'adresse du proxy
    curl_setopt($ch, CURLOPT_PROXY, $proxy_host);
     
     
     
    // Définition des identifiants si le proxy requiert une identification
    if ($proxy_ident)
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_ident);
     
    $page_content = curl_exec($ch);
     
    // var_dump(curl_getinfo($ch, CURLINFO_HTTP_CODE));
     
    // Vérifie si une erreur survient
    if(curl_errno($ch))
    {
        echo 'Erreur Curl : ' . curl_error($ch);
    }
     
     
    curl_close($ch);
     
    if(!$page_content){
    	echo "<br><br>Connexion a echoue";
    } else {
    	echo "<br><br>Connexion reussi";
    }
    Je signale que lorsque je modifie l'URL, et que je mets par exemple google, la connexion et l'affichage sont OK.

    Par avance, merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Ton webservice ou ton proxy rejette les connexions avec SSL v2, qui avec SSL v3 font l'objet de vulnérabilités importantes et ne devraient plus être utilisées.
    Essaie en ajoutant ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
    Si ça ne marche pas, il faudra sans doute mettre cUrl à niveau. Regarde quelle est ta version de cUrl (dans un phpinfo())

Discussions similaires

  1. Test de connexion via un proxy squid.
    Par byloute dans le forum Réseau
    Réponses: 0
    Dernier message: 27/02/2009, 11h25
  2. [System.Net.Sockets] Connexion via un proxy
    Par kendras dans le forum Développement
    Réponses: 15
    Dernier message: 17/02/2009, 14h52
  3. Connexion FTP via un proxy
    Par Cold Hand dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 27/06/2007, 13h42
  4. [Débutant] Connexion en HTTPS via un Proxy ?
    Par ghohm dans le forum Web
    Réponses: 11
    Dernier message: 15/06/2007, 10h15
  5. Erreur de connexion à PostGresql via pgAdminII
    Par LS dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 21/08/2003, 09h51

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