No - doesn't work (just forgot to mention it in my post). I did it after my last header field "Content-Length:".
Kind regards, Michael -----Ursprüngliche Nachricht----- Von: Sam Crawford [mailto:[email protected]] Gesendet: Dienstag, 24. April 2012 11:20 An: HttpClient User Discussion Betreff: Re: How to test compressed response You need two CRLF after your final HTTP header. So try using: +" Content-Encoding: gzip\r\n\r\n"; Thanks, Sam On 24 April 2012 10:14, <[email protected]> wrote: > My fault. After adding the necessary CRLF it works. > String sHeader = "HTTP/1.1 200 OK\r\n" > +" Server: Apache\r\n" > +" Content-Type: text/html\r\n" > +" Content-Encoding: gzip\r\n"; > > But when I receive the response I have only one header containing all header > fields together [Server: Apache Content-Type: text/html Content-Encoding: > gzip] and I can't iterate nor pick a special header out. I guess in my > example above I should have at least three headers. Something else what I did > wrong? > > Kind regards, > > Michael > > -----Ursprüngliche Nachricht----- > Von: Fankanowsky, Michael > Gesendet: Montag, 23. April 2012 10:33 > An: [email protected] > Betreff: How to test compressed response > > Hi all, > > I just want to test the handling of compressed responses. I have some java > code which can do the compression of content and which listens to http get > requests. But I actually have no idea how to send the response respectively > which streams/writers to use and how to combine the message header and the > compressed content. > My last try was building a byteArray: > > int contentLength = 0; > v > > // parameter String message comes with call of method byte[] content = > message.getBytes("ISO-8859-1"); byte[] compressedContent = new > byte[1000]; byte[] bHeader; byte[] response; int numOfBytes; > > Deflater def = new Deflater(Deflater.BEST_COMPRESSION); > def.setInput(content); > def.finish(); > contentLength = def.deflate(compressedContent); sHeader += " > Content-Length: "+contentLength; bHeader = > sHeader.getBytes("ISO-8859-1"); numOfBytes = bHeader.length + > compressedContent.length; response = new byte[numOfBytes]; > System.arraycopy(bHeader, 0, response, 0, bHeader.length); > System.arraycopy(compressedContent, 0, response, > bHeader.length, compressedContent.length); > > But on client side I receive a ClientProtocolException: Invalid header. > > Any hints? > > Kind regards, > > Michael > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
