daniel_sun
Erfahrenes Mitglied
Hallo,
ich sitze zur Zeit an einem Programm, mit dem ich über eine TCP-Verbindung HTTP-Requests stelle.
Bsp:
GET http://www.web.de HTTP/1.1\r\n
Host: www.web.de\r\n
Das funktioniert auch soweit super und ich bekomme vom Server den gewünschten Response. Diesen Puffer ich, bevor ich ihn als Datei abspeicher.
Code-Teil zum Puffern:
Mein Problem ist nun das der Server die Daten mit der Option Transfer-Encoding: chunked sendet. Daher hab ich in meiner Datei in unregelmäßigen abständen Hexadezimale zahlen stehen.
Ich gehe davon aus, dass es sich um das Ende des jeweiligen Chunks handelt. Leider habe ich keine ahnung wie ich aus den empfangenen Daten die werte rausfiltern kann damit ich das reine HTML-Dokument (mit Header) bekomme.
Einige der Hexwerte:
oder
Ich hoffe ihr habt nen heißen Tip für mich!
Gruß
daniel_sun
ich sitze zur Zeit an einem Programm, mit dem ich über eine TCP-Verbindung HTTP-Requests stelle.
Bsp:
GET http://www.web.de HTTP/1.1\r\n
Host: www.web.de\r\n
Das funktioniert auch soweit super und ich bekomme vom Server den gewünschten Response. Diesen Puffer ich, bevor ich ihn als Datei abspeicher.
Code-Teil zum Puffern:
Code:
InputStreamReader inReader = new InputStreamReader(inStream);
char[] buffer = new char[8192];
int amountRead;
StringBuilder data = new StringBuilder();
while((amountRead = inReader.read(buffer)) > 0){
data.append(buffer, 0, amountRead);
}
Mein Problem ist nun das der Server die Daten mit der Option Transfer-Encoding: chunked sendet. Daher hab ich in meiner Datei in unregelmäßigen abständen Hexadezimale zahlen stehen.
Ich gehe davon aus, dass es sich um das Ende des jeweiligen Chunks handelt. Leider habe ich keine ahnung wie ich aus den empfangenen Daten die werte rausfiltern kann damit ich das reine HTML-Dokument (mit Header) bekomme.
Einige der Hexwerte:
HTTP/1.1 200 OK
Date: Mon, 21 May 2012 14:49:40 GMT
Server: Apache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache, no-store, public
Vary: User-Agent,Accept-Encoding
X-Appserver: hp-webde003
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
f95
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
oder
<li class="first" id="headerNavFreePhone" style="z-index: 99;"><div class="item"><a href="http://mobile.1und1.de?ac=OM.PW.PW008K19847B7070a "><span>FreePhone</span></a></div><div class="disq"><div class="check"></div><div class="content"><a href="http://mobile.1und1.de?ac=OM.PW.PW008K19847B7070a ">Jetzt mit SMS-Flat!</a></div></div></li><li id="headerNavFreeMail" s
1063
tyle="z-index: 98;">
Ich hoffe ihr habt nen heißen Tip für mich!
Gruß
daniel_sun