Probleme avec les données renvoyées par fsockopen sur certain serveurs

adess00
Messages postés
261
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
27 septembre 2008
- 19 mars 2008 à 03:56
neigedhiver
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
- 19 mars 2008 à 10:44
Bonjour,

J'ai ecris un code qui envoi une requete sur une page php sur un serveur mais sur certains hebergeurs (comme 1and1), il me renvoie les données par morceaux.

Je vous montre un exemple :
Le fichier php contient un script sur le serveur qui affiche "coucou"
Quand je fais ma requete sur ce fichier et que je l'affiche, au lieu de recevoir "coucou" je recois "6 coucou 0".

Quand les chaines sont longues il me renvoi parfois des trucs du genre "3 cou 3 cou 0"

J'aimerais donc savoir comment faire pour faire face a ce probleme.

Merci bien :)

3 réponses

neigedhiver
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
19 mars 2008 à 05:16
Salut,

Est-ce que tu pourrais montrer un peu ton code, voir ce qu'il fait exactement ? Qu'on puisse tester aussi, pour chercher le truc et comprendre ce qui se passe... Là, juste comme ça, on peut pas faire grand chose... (en tout cas, moi, le problème ne me parle pas du tout avec aussi peu d'éléments)

<hr size="2" width="100%" />Neige
0
adess00
Messages postés
261
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
27 septembre 2008

19 mars 2008 à 05:20
Je crois avoir trouvé, en faite le serveur renvoi les données decoupées, dans l entete de la reponse on retrouve : Transfer-Encoding: chunked.
Apparemment c'est le serveur qui utilise cette methode de decoupage.

Mais je vois pas comment faire pour desactiver cette methode lors de la requete qui pour l instant se presente aisni :

   $out = "POST /".$chemin." HTTP/1.1\r\n";
   $out .= "Host: ".$domain."\r\n";
   $out .= "Connection: Close\r\n";
   $out .= "Content-type: application/x-www-form-urlencoded\r\n";
   $out .= "Content-Length: ".strlen($postdata)."\r\n\r\n";
   $out .= $postdata."\r\n";
0
neigedhiver
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
19 mars 2008 à 10:44
Salut,

Tu peux regarder du côté du standard HTTP/1.1, y'a une section justement sur la question :
http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1

Là au lever du lit après 3h de sommeil, j'ai du mal à dire mieux.

<hr size="2" width="100%" />Neige
0