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 :

Erreur de connexion au serveur


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 64
    Points : 33
    Points
    33
    Par défaut Erreur de connexion au serveur
    Bonjour tout le monde,

    J'essaie d'ouvrir une socket de connexion avec un serveur, pour envoyer des données en POST dans une url. Sauf que j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HTTP/1.1 500 Internal Server Error
    Quelqu'un saurait-il me dire d'où peut venir cette erreur vu que j'ai jamais utilisé ça en PHP :s

    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
     
    $header  = "POST /NMSXML HTTP/1.0\r\n";
    		$header .= "Content-Type: text/plain; charset=UTF-8\r\n";
    		$header .= "Host: api.notificationmessaging.com\r\n";
    		$header .= "Connection: Keep-Alive\r\n";
    		$header .= "User-Agent: Apache-HttpClient/4.0-beta1 (java 1.4)\r\n";
    		$header .= "Expect: 100-Continue\r\n";		
    		$header .= "Content-Length: ".strlen($message)."\r\n";
    		$header .= "\r\n";	
     
    $fs = fsockopen( "host" , 80 , $errno , $errstr , 20 );
     
    		if ( $fs )
    		{
                     fwrite( $fs , $header.$vars."\r\n" );
     
    		 $line = fgets( $fs );
    		 fclose($fs);
                    }
    Je vous remercie d'avannnnce!!!!

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fsockopen( "host" , 80 , $errno , $errstr , 20 );
    es tu certain que host soit un nom de serveur valide ? à mon avis c'est ça l'origine de l'erreur.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 64
    Points : 33
    Points
    33
    Par défaut
    re bonjour,

    Bon ben entre temps j'ai réussi à régler le problème .
    Maintenent j'ai un petit souci quand le serveur ne renvoi pas de réponse, en d'autre terme quand je fais

    $line doit renvoyer "HTTP/1.1 200 OK" sinon un message d'erreur. dans le cas ou elle renvois rien je fais un test pour afficher qu'il y a pas de retour serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($line == "") echo "pas de retour !!!";
    sauf que ça marche pas parce qu'il m'affiche ok meme quand le serveur ne renvoie pas de réponse. peut etre que je fais mal mon test ou que c'est juste une erreur bete.

    si quelqu'un a une idée je vous remerciiiiie d'avance!

  4. #4
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par shada Voir le message
    $line doit renvoyer "HTTP/1.1 200 OK" sinon un message d'erreur. dans le cas ou elle renvois rien je fais un test pour afficher qu'il y a pas de retour serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($line == "") echo "pas de retour !!!";
    sauf que ça marche pas parce qu'il m'affiche ok meme quand le serveur ne renvoie pas de réponse. peut etre que je fais mal mon test ou que c'est juste une erreur bete.

    si quelqu'un a une idée je vous remerciiiiie d'avance!
    Bonjour,

    Déjà, je ne sais pas si cette ligne est vraiment utile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $header .= "Expect: 100-Continue\r\n";
    Le fait que le serveur renvoie 200, même si il ne renvoie rien, c'est qu'il reçoit bien la requête, qu'il la comprends, mais que ton programme sur le serveur ne renvoie rien.
    C'est toi qui a developpé le programme sur le serveur ? Si oui, tu devrais essayer de voir es-ce qu'il reçoit bien tes variables. Sinon, essaye en local, tu appelle une page de test qui t'écrit dans un fichier le contenu de $_POST.

    Sinon, remarque bête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fwrite( $fs , $header.$vars."\r\n" );
    C'aurais pas du être la même variable $message et $vars ?

    Sinon, il reste la solution d'utiliser CURL.

    Bonne journée ( et bonne chance ).

Discussions similaires

  1. Erreur de connexion au serveur
    Par ikouhan dans le forum Installation
    Réponses: 6
    Dernier message: 04/04/2010, 20h57
  2. [JavaMail] erreur de connexion au serveur SMTP
    Par herguem dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 01/08/2009, 11h41
  3. erreur de connexion au serveur oracle
    Par ajor dans le forum Connexions aux bases de données
    Réponses: 0
    Dernier message: 07/01/2009, 12h56
  4. Erreur de connexion au serveur apache
    Par vacknov dans le forum Apache
    Réponses: 10
    Dernier message: 08/12/2008, 13h44
  5. Erreur de connexion au serveur SQL 3
    Par NeHuS dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/01/2005, 14h55

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