Lire un flux avec readLine puis byte par byte
karine
-
karine -
karine -
Bonjour,
J'ai un problème en java.
Je lis un flux qui me vient d'un serveur web ligne parligne pour l'en-tete.
Puis je lis octet par octet pour la suite.
Mais quand je lis octet par octet, il manque des données entre la fin de l'en-tete et ce que je lis.
Voilà ce que j'ai dans mon terminal :
HTTP/1.1 200 OK
Date: Tue, 03 May 2005 09:54:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.3.3
X-Powered-By: PHP/4.3.3
Set-Cookie: PHPSESSID=db12b8c8a944e4bcdc6e61627081a86c; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate,
post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: cpp=0; expires=Tue, 03-May-05 08:54:28 GMT
Set-Cookie: cpagem=0-1-0
Transfer-Encoding: chunked
Content-Type: text/html
return false;
}
}
}
Le code de la page html commence n'importe ou, il manque des trucs au debut comme <html> etc...
Voici mon code :
Si quelqu'un peut m'aider, ce serait vraiment sympa car ça fait plus d'une semaine que je suis sur ce bug.
Merci !
J'ai un problème en java.
Je lis un flux qui me vient d'un serveur web ligne parligne pour l'en-tete.
Puis je lis octet par octet pour la suite.
Mais quand je lis octet par octet, il manque des données entre la fin de l'en-tete et ce que je lis.
Voilà ce que j'ai dans mon terminal :
HTTP/1.1 200 OK
Date: Tue, 03 May 2005 09:54:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.3.3
X-Powered-By: PHP/4.3.3
Set-Cookie: PHPSESSID=db12b8c8a944e4bcdc6e61627081a86c; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate,
post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: cpp=0; expires=Tue, 03-May-05 08:54:28 GMT
Set-Cookie: cpagem=0-1-0
Transfer-Encoding: chunked
Content-Type: text/html
return false;
}
}
}
Le code de la page html commence n'importe ou, il manque des trucs au debut comme <html> etc...
Voici mon code :
PrintStream sout = new PrintStream(client.getOutputStream());
InputStream entrant = socket.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader( entrant ));
String line;
byte [] buffer = new byte[4096];
int lus;
while((line = in.readLine()) != null) {
if (line.length() == 0) break;
System.out.println("line" + line);
sout.println(line);
}
System.out.println("line" + "");
sout.println("");
while ((lus = entrant.read(buffer)) != -1) {
sout.write(buffer,0,lus);
}
Si quelqu'un peut m'aider, ce serait vraiment sympa car ça fait plus d'une semaine que je suis sur ce bug.
Merci !
A voir également:
- Lire un flux avec readLine puis byte par byte
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Malware byte - Télécharger - Antivirus & Antimalwares
- Lire fichier bin - Guide
- Comment lire un message supprimé sur whatsapp - Guide
2 réponses
Bonjour,
As tu essayé de lire uniquemet octet / octet pour voi si tu recois bien toutes les données ?
PrintStream sout = new PrintStream(client.getOutputStream());
InputStream entrant = socket.getInputStream();
//BufferedReader in = new BufferedReader(new InputStreamReader( entrant ));
//String line;
byte [] buffer = new byte[4096];
int lus;
while ((lus = entrant.read(buffer)) != -1) {
System.out.println("recu : " + String.valueOf(buffer));
sout.write(buffer,0,lus);}
As tu essayé de lire uniquemet octet / octet pour voi si tu recois bien toutes les données ?
PrintStream sout = new PrintStream(client.getOutputStream());
InputStream entrant = socket.getInputStream();
//BufferedReader in = new BufferedReader(new InputStreamReader( entrant ));
//String line;
byte [] buffer = new byte[4096];
int lus;
while ((lus = entrant.read(buffer)) != -1) {
System.out.println("recu : " + String.valueOf(buffer));
sout.write(buffer,0,lus);}