Interesting. Let me try the same.. I must be making some mistake. I did had RC4. Thanks!
Kedar -----Original Message----- From: Bindul Bhowmik [mailto:[EMAIL PROTECTED] Sent: Sunday, February 04, 2007 1:35 AM To: Jakarta Commons Users List Subject: Re: [HTTPClient] Header parser Kedar, On 2/3/07, Kedar Panse <[EMAIL PROTECTED]> wrote: > Actually there is not a new line, it's the same line where the set cookie > header is. > So the line contains: > > "Set-Cookie: user-cookie=xxxx; path=/; domain=.xxx.com; secure HTTP/1.0 200" > > Which I think makes this invalid. But I read somewhere that server can > choose to change the protocol from HTTP/1.1 to HTTP/1.0 in such cases it can > send two of these headers? I am not quite sure if this is covered under > folded headers thing. > I am a bit confused now. I am not sure which version of HTTPClient you are using, but I tried recreating this scenario using a simple servlet, and HTTPClient code from TRUNK. If there is just a space between 'secure' and 'HTTP' the client does not fail. Below are excerpts from my wire log. 13:01:22,578 [main] DEBUG [httpclient.wire.header] - << "HTTP/1.1 200 OK[\r][\n]" 13:01:22,593 [main] DEBUG [httpclient.wire.header] - << "Server: Apache-Coyote/1.1[\r][\n]" 13:01:22,593 [main] DEBUG [httpclient.wire.header] - << "Set-Cookie: user-cookie="xxxx HTTP/1.0 200"[\r][\n]" 13:01:22,593 [main] DEBUG [httpclient.wire.header] - << "Set-Cookie: user-cookie1=xxxy; path=/; domain=localhost; secure HTTP/1.0 200[\r][\n]" 13:01:22,593 [main] DEBUG [httpclient.wire.header] - << "Content-Length: 0[\r][\n]" 13:01:22,593 [main] DEBUG [httpclient.wire.header] - << "Date: Sat, 03 Feb 2007 20:01:22 GMT[\r][\n]" 13:01:22,625 [main] DEBUG [commons.httpclient.HttpMethodBase] - Cookie accepted: "$Version=0; user-cookie=xxxx HTTP/1.0 200" 13:01:22,625 [main] DEBUG [commons.httpclient.HttpMethodBase] - Cookie accepted: "$Version=0; user-cookie1=xxxy; $Path=/; $Domain=localhost" > > Thanks! > > > Kedar > > -----Original Message----- > From: Bindul Bhowmik [mailto:[EMAIL PROTECTED] > Sent: Saturday, February 03, 2007 3:18 PM > To: Jakarta Commons Users List > Subject: Re: [HTTPClient] Header parser > > Kedar, > > On 2/3/07, Kedar Panse <[EMAIL PROTECTED]> wrote: > > Hello guys! > > > > > > > > I have been using HTTPClient for quite a while, thanks to you guys work! > > Recently I came across a site, which I believe is returning bad headers. > > HTTPClient seems to choke on > > > > > > > > Set-Cookie: user-cookie=xxxx; path=/; domain=.xxx.com; secure HTTP/1.0 200 > > The HTTP/1.0 200 is the status line of the HTTP response and is > supposed to be the first line in the response [1]. HttpClient is > trying to parse that field as a name value HTTP Header. > > Also, not evident in the email, I think there is a new line character > between secure and HTTP in that line. > > > > > content-type: text/html > > > > > > > > Exception I get is: > > > > > > > > WARNING: org.apache.commons.httpclient.ProtocolException: Unable to parse > > header: HTTP/1.0 200 > > > > > > > > > > > > Is this a valid header for cookie? Firefox/IE seem to get past it easy. > Is > > there any way to get around this? > > The way to get around this is to modify the HttpClient source. More > specifically you need to modify the > org.apache.commons.httpclient.HttpParser#readLine(InputStream, String) > method and can make it lenient and ask it to ignore any lines that > dont follow the standard 'header-name: header-value' pattern. You can > modify the source and rebuild your own jar. > > I don't know your entire response, but if HttpClient has reached the > state where it is parsing the headers, I assume the server has already > sent a status line as the first line of response. > > > > > > > > > > > > > Regards, > > > > > > > > Kedar > > > > > > Hope this helps, > > Regards, > Bindul > > -- > Bindul Bhowmik > MindTree Consulting Ltd. > Regards, Bindul -- Bindul Bhowmik MindTree Consulting Ltd. --------------------------------------------------------------------- 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]