niv seker wrote:
Hi,
I am using httpclient for an application that download pages of urls that
appear in RSS feeds.
Httpclient is using java.net.URI, which in many cases is too strict for the
world in which he lives in.
URIs such as:
http://gizmodo.com/5479150/youtube-pulls-the-original-rickroll-video-spurring-inevitable-wave-of-protest-rickrolls-[updated]
,
http://finance.yahoo.com/tech-ticker/wall-street's-memo-to-meredith-whitney:-you're-so-2009-399286.html?tickers=
^dji,^gspc,gs,dia,spy,xlf,skf
are considered illegal and causes URISyntaxException to be thrown when
trying to create URI out of them.
This kind of urls are in common use and can be successfully handled/visited
by popular web browsers.


HttpClient 3.1 has its own URI API, which literally NO one was willing to work with and to maintain. This was the reason why it was not ported to 4.0 and replaced with the java URI implementation.


I was thinking on using a method that encodes all of the chars that are not
encoded, but there will still be a problem if the uri redirects to a uri
that is not legal.
(something like the toURI method in
http://www.java2s.com/Code/Java/Network-Protocol/URIutilities.htm)

Is there any workaround for this issue?
Is there any kind of way to specify a URIResolver object that will help
httpClient handling this illegal urls?


I think it would be possible to provide a custom parser / factory for URI objects, which is more lenient than the standard one. However, as far as I am concerned this is a very low priority issue. Having said all that, if such a feature comes as a contribution to the project, I will happily incorporate it into the official code line. There is already a JIRA ticket for this feature:

https://issues.apache.org/jira/browse/HTTPCLIENT-900

Oleg

(while searching for a solution I found a bug that someone opened to the
java guys, in which he asked them to create a more lose implementation of
URI:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4939847
Not really helpful, but he described the issue pretty well.)

Cheers,
Niv
**



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to