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

Apache Discussion :

Problème de port sur HTTP GET


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut Problème de port sur HTTP GET
    Bonjour à tous,

    J'ai un problème avec mon serveur lorsque je veux faire un appel d'une page par GET.

    Je développe une application en PHP et j'ai besoin de récupérer le contenu d'une page. Je fais donc l'appel suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $url = "http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446";
    http_get($url, $appelOptions, $appelInfos);
    Cependant, cet appel ne marche pas tout le temps (environ 1 fois sur 5). J'ai donc installé Wireshark pour analyser ce qui est envoyé par mon serveur.

    Un appel qui fonctionne :
    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
    Hypertext Transfer Protocol
    GET http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446 HTTP/1.1\r\n
        Request Method: GET
        Request URI: http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446
        Request Version: HTTP/1.1
    User-Agent: PECL::HTTP/1.6.5 (PHP/5.2.4-2ubuntu5.7)\r\n
    Host: mysite.fr:9090\r\n
    Pragma: no-cache\r\n
    Accept: */*\r\n
    Proxy-Connection: Keep-Alive\r\n
    Keep-Alive: 300\r\n
    Connection: keep-alive\r\n
    Date: Fri, 15 Jun 2012 16:40:46 +0200\r\n
    Accept-Charset: utf-8\r\n
    Accept-Encoding: gzip;q=1.0,deflate;q=0.5\r\n
    \r\n
    Un appel qui ne fonctionne pas :
    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
    Hypertext Transfer Protocol
    GET http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446 HTTP/1.1\r\n
        Request Method: GET
        Request URI: http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446
        Request Version: HTTP/1.1
    User-Agent: PECL::HTTP/1.6.5 (PHP/5.2.4-2ubuntu5.7)\r\n
    Host: mysite.fr\r\n
    Pragma: no-cache\r\n
    Accept: */*\r\n
    Proxy-Connection: Keep-Alive\r\n
    Keep-Alive: 300\r\n
    Connection: keep-alive\r\n
    Date: Fri, 15 Jun 2012 16:40:34 +0200\r\n
    Accept-Charset: utf-8\r\n
    Accept-Encoding: gzip;q=1.0,deflate;q=0.5\r\n
    \r\n
    Je remarque que dans certains cas, il retire le port dans le "Host", ce qui je pense cause mon problème.

    J'ai fait un autre test. J'ai essayé de récupérer le contenu de cette page en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wget http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446
    Dans ce cas, jamais de soucis.

    Je pense donc qu'il doit s'agir d'un problème lié à Apache. Auriez-vous des pistes pour m'aider à comprendre l'origine du problème ?

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Le problème peut aussi bien venir du proxy : si tu regardes bien, la trace Wireshark indique des en-têtes Proxy-Connection et un GET http://... qui signifient que PHP passe par un proxy pour aller sur le net. Donc vois également du côté du proxy s'il n'y a pas un problème. Mais quoi qu'il en soit, c'est vrai que c'est bizarre de voir le port disparaître, mais je ne sais pas si cela peut avoir une incidence sur le fonctionnement du proxy.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    Effectivement, j'utilise un proxy.

    J'essaye d'appeler une page située sur un intranet depuis mon serveur sur internet. Pour cela, je passe par un proxy (en PHP) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $appelOptions['proxyhost'] = "http://myproxy";
    J'ai essayé d'appeler mon appel GET en PHP par ligne de commande et ça fonctionne à tous les coups.

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Tu sais faire les requêtes HTTP par telnet ? Si oui, ce que tu peux faire c'est jouer la requête avec l'en-tête Host sans le port et vois ce que ça donne : si ça plante, c'est bien ça le problème, et il s'agira alors d'un bogue PHP. A ce propos, tu as regardé s'il y avait un bogue similaire remonté sur le site php.net ?

Discussions similaires

  1. Problème de syntaxe sur méthodes get et set
    Par ricardo93 dans le forum C#
    Réponses: 3
    Dernier message: 09/06/2009, 22h52
  2. Problème de port sur un serveur
    Par maf dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 05/06/2008, 14h14
  3. Problème de lecture sur port COM
    Par Marthym dans le forum MFC
    Réponses: 10
    Dernier message: 11/04/2006, 15h36
  4. Problème avec port Série sur Win XP
    Par alexorel dans le forum MFC
    Réponses: 9
    Dernier message: 27/10/2005, 15h32
  5. Problème de reception sur Port COM
    Par Revan777 dans le forum C
    Réponses: 9
    Dernier message: 19/04/2005, 21h55

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