Re: org.apache.http.ProtocolException: Invalid header: HTTP/1.1 200 OK

2012-05-30 Thread rpinto

Hi olegk,

Thank you very much, your second link did the trick.

Best regards,
rpinto

olegk wrote:
 
 On Tue, 2012-05-29 at 16:55 +0100, Sam Crawford wrote:
 As an example, take a look at the bottom of
 http://code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/StreamProxy.java
 (specifically IcyLineParser and MyClientConnection).
 MyClientConnection shows you how to override createResponseParser.
 
 The unknown part for me is whether or not you can extend
 BasicLineParser (like the author did for IcyLineParser) and get away
 with just overriding parseHeader. This would require handling the
 special case of the duplicate status line by returning null or a dummy
 Header value in its place. Both are ugly, but then you're already
 dealing with a broken web server, so I suspect such concerns are long
 since gone!
 
 I'm not able to test it myself right now, but hopefully the above will
 provide you the necessary guidance to give it a try yourself. In the
 meantime someone else may have a better suggestion than me.
 
 Thanks,
 
 Sam
 
 
 
 This might also be of help
 
 http://hc.apache.org/httpcomponents-client-ga/tutorial/html/advanced.html#d5e1339
 
 Oleg
 
 
 On 29 May 2012 14:34, rpinto santospinto.raf...@gmail.com wrote:
 
  Hi Sam, thank you very much for your quick response.
 
  Is there any example/tutorial for how should hi implement
  createResponseParser?
 
  Thanks in advance,
 
  Best regards,
  RPinto
 
  Sam Crawford wrote:
 
  The issue will be caused by the web server replying with two HTTP/1.1
  200 OK headers. The web server you're connecting to is faulty.
 
  As a workaround, I would suggest subclassing
  DefaultHttpClientConnection and overriding createResponseParser. See
  here for more details:
 
 http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/impl/AbstractHttpClientConnection.html#createResponseParser(org.apache.http.io.SessionInputBuffer,
  org.apache.http.HttpResponseFactory,
  org.apache.http.params.HttpParams)
 
  Hope this helps,
 
  Sam
 
 
 
  On 29 May 2012 14:10, rpinto santospinto.raf...@gmail.com wrote:
 
  Hi there,
 
  I'm using httpclient (4.1 and also 4.2) and it throws
 ProtocolException:
  Invalid header: HTTP/1.1 200 OK, and does not allow me to access de
  webcontent.
 
  Here is the stacktrace :
 
  Caused by: org.apache.http.ProtocolException: Invalid header:
 HTTP/1.1
  200
  OK
 at
 
 org.apache.http.impl.io.AbstractMessageParser.parseHeaders(AbstractMessageParser.java:226)
 at
 
 org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
 at
 
 org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
 at
 
 org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
 at
 
 org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
 at
 
 org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
 at
 
 org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
 at
 
 org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:713)
 at
 
 org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:518)
 at
 
 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
 
 
  And here are the Headers from the GET request:
 
  HTTP/1.1 200 OK
  Date: Fri, 09 Jan 1970 00:12:58 GMT
  Server: Boa/0.94.14rc18-ipcam
  Accept-Ranges: bytes
  Connection: close
  HTTP/1.1 200 OK
  Content-Type: multipart/x-mixed-replace;boundary=IPCAMJPG
 
  The problem must be Bold line because it does not respect HTTP/1.1.
 
  Is there any workaround or any fix?
 
  Thanks in advance,
 
  Best regards,
  Rafael Pinto
  --
  View this message in context:
 
 http://old.nabble.com/org.apache.http.ProtocolException%3A-Invalid-header%3A-HTTP-1.1-200-OK-tp33924984p33924984.html
  Sent from the HttpClient-User mailing list archive at Nabble.com.
 
 
  -
  To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
  For additional commands, e-mail: httpclient-users-h...@hc.apache.org
 
 
  -
  To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
  For additional commands, e-mail: httpclient-users-h...@hc.apache.org
 
 
 
  --
  View this message in context:
 http://old.nabble.com/org.apache.http.ProtocolException%3A-Invalid-header%3A-HTTP-1.1-200-OK-tp33924984p33925126.html
  Sent from the HttpClient-User mailing list archive at Nabble.com.
 
 
  -
  To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org

Re: org.apache.http.ProtocolException: Invalid header: HTTP/1.1 200 OK

2012-05-29 Thread Sam Crawford
As an example, take a look at the bottom of
http://code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/StreamProxy.java
(specifically IcyLineParser and MyClientConnection).
MyClientConnection shows you how to override createResponseParser.

The unknown part for me is whether or not you can extend
BasicLineParser (like the author did for IcyLineParser) and get away
with just overriding parseHeader. This would require handling the
special case of the duplicate status line by returning null or a dummy
Header value in its place. Both are ugly, but then you're already
dealing with a broken web server, so I suspect such concerns are long
since gone!

I'm not able to test it myself right now, but hopefully the above will
provide you the necessary guidance to give it a try yourself. In the
meantime someone else may have a better suggestion than me.

Thanks,

Sam


On 29 May 2012 14:34, rpinto santospinto.raf...@gmail.com wrote:

 Hi Sam, thank you very much for your quick response.

 Is there any example/tutorial for how should hi implement
 createResponseParser?

 Thanks in advance,

 Best regards,
 RPinto

 Sam Crawford wrote:

 The issue will be caused by the web server replying with two HTTP/1.1
 200 OK headers. The web server you're connecting to is faulty.

 As a workaround, I would suggest subclassing
 DefaultHttpClientConnection and overriding createResponseParser. See
 here for more details:
 http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/impl/AbstractHttpClientConnection.html#createResponseParser(org.apache.http.io.SessionInputBuffer,
 org.apache.http.HttpResponseFactory,
 org.apache.http.params.HttpParams)

 Hope this helps,

 Sam



 On 29 May 2012 14:10, rpinto santospinto.raf...@gmail.com wrote:

 Hi there,

 I'm using httpclient (4.1 and also 4.2) and it throws ProtocolException:
 Invalid header: HTTP/1.1 200 OK, and does not allow me to access de
 webcontent.

 Here is the stacktrace :

 Caused by: org.apache.http.ProtocolException: Invalid header: HTTP/1.1
 200
 OK
        at
 org.apache.http.impl.io.AbstractMessageParser.parseHeaders(AbstractMessageParser.java:226)
        at
 org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
        at
 org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
        at
 org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
        at
 org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
        at
 org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
        at
 org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
        at
 org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:713)
        at
 org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:518)
        at
 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)


 And here are the Headers from the GET request:

 HTTP/1.1 200 OK
 Date: Fri, 09 Jan 1970 00:12:58 GMT
 Server: Boa/0.94.14rc18-ipcam
 Accept-Ranges: bytes
 Connection: close
 HTTP/1.1 200 OK
 Content-Type: multipart/x-mixed-replace;boundary=IPCAMJPG

 The problem must be Bold line because it does not respect HTTP/1.1.

 Is there any workaround or any fix?

 Thanks in advance,

 Best regards,
 Rafael Pinto
 --
 View this message in context:
 http://old.nabble.com/org.apache.http.ProtocolException%3A-Invalid-header%3A-HTTP-1.1-200-OK-tp33924984p33924984.html
 Sent from the HttpClient-User mailing list archive at Nabble.com.


 -
 To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
 For additional commands, e-mail: httpclient-users-h...@hc.apache.org


 -
 To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
 For additional commands, e-mail: httpclient-users-h...@hc.apache.org



 --
 View this message in context: 
 http://old.nabble.com/org.apache.http.ProtocolException%3A-Invalid-header%3A-HTTP-1.1-200-OK-tp33924984p33925126.html
 Sent from the HttpClient-User mailing list archive at Nabble.com.


 -
 To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
 For additional commands, e-mail: httpclient-users-h...@hc.apache.org


-
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org



Re: org.apache.http.ProtocolException: Invalid header: HTTP/1.1 200 OK

2012-05-29 Thread Oleg Kalnichevski
On Tue, 2012-05-29 at 16:55 +0100, Sam Crawford wrote:
 As an example, take a look at the bottom of
 http://code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/StreamProxy.java
 (specifically IcyLineParser and MyClientConnection).
 MyClientConnection shows you how to override createResponseParser.
 
 The unknown part for me is whether or not you can extend
 BasicLineParser (like the author did for IcyLineParser) and get away
 with just overriding parseHeader. This would require handling the
 special case of the duplicate status line by returning null or a dummy
 Header value in its place. Both are ugly, but then you're already
 dealing with a broken web server, so I suspect such concerns are long
 since gone!
 
 I'm not able to test it myself right now, but hopefully the above will
 provide you the necessary guidance to give it a try yourself. In the
 meantime someone else may have a better suggestion than me.
 
 Thanks,
 
 Sam
 
 

This might also be of help

http://hc.apache.org/httpcomponents-client-ga/tutorial/html/advanced.html#d5e1339

Oleg


 On 29 May 2012 14:34, rpinto santospinto.raf...@gmail.com wrote:
 
  Hi Sam, thank you very much for your quick response.
 
  Is there any example/tutorial for how should hi implement
  createResponseParser?
 
  Thanks in advance,
 
  Best regards,
  RPinto
 
  Sam Crawford wrote:
 
  The issue will be caused by the web server replying with two HTTP/1.1
  200 OK headers. The web server you're connecting to is faulty.
 
  As a workaround, I would suggest subclassing
  DefaultHttpClientConnection and overriding createResponseParser. See
  here for more details:
  http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/impl/AbstractHttpClientConnection.html#createResponseParser(org.apache.http.io.SessionInputBuffer,
  org.apache.http.HttpResponseFactory,
  org.apache.http.params.HttpParams)
 
  Hope this helps,
 
  Sam
 
 
 
  On 29 May 2012 14:10, rpinto santospinto.raf...@gmail.com wrote:
 
  Hi there,
 
  I'm using httpclient (4.1 and also 4.2) and it throws ProtocolException:
  Invalid header: HTTP/1.1 200 OK, and does not allow me to access de
  webcontent.
 
  Here is the stacktrace :
 
  Caused by: org.apache.http.ProtocolException: Invalid header: HTTP/1.1
  200
  OK
 at
  org.apache.http.impl.io.AbstractMessageParser.parseHeaders(AbstractMessageParser.java:226)
 at
  org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
 at
  org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
 at
  org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
 at
  org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
 at
  org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
 at
  org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
 at
  org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:713)
 at
  org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:518)
 at
  org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
 
 
  And here are the Headers from the GET request:
 
  HTTP/1.1 200 OK
  Date: Fri, 09 Jan 1970 00:12:58 GMT
  Server: Boa/0.94.14rc18-ipcam
  Accept-Ranges: bytes
  Connection: close
  HTTP/1.1 200 OK
  Content-Type: multipart/x-mixed-replace;boundary=IPCAMJPG
 
  The problem must be Bold line because it does not respect HTTP/1.1.
 
  Is there any workaround or any fix?
 
  Thanks in advance,
 
  Best regards,
  Rafael Pinto
  --
  View this message in context:
  http://old.nabble.com/org.apache.http.ProtocolException%3A-Invalid-header%3A-HTTP-1.1-200-OK-tp33924984p33924984.html
  Sent from the HttpClient-User mailing list archive at Nabble.com.
 
 
  -
  To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
  For additional commands, e-mail: httpclient-users-h...@hc.apache.org
 
 
  -
  To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
  For additional commands, e-mail: httpclient-users-h...@hc.apache.org
 
 
 
  --
  View this message in context: 
  http://old.nabble.com/org.apache.http.ProtocolException%3A-Invalid-header%3A-HTTP-1.1-200-OK-tp33924984p33925126.html
  Sent from the HttpClient-User mailing list archive at Nabble.com.
 
 
  -
  To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
  For additional commands, e-mail: httpclient-users-h...@hc.apache.org