Is it a bug of URI lib?


#1

I use the URI.merge method, and I met something incorrect. It is a bug
of
URI lib?

For example:

require ‘uri’

site_url = ‘http://www.try.com/test.aspx
cur_url =’?page=2’

site=URI.parse(site_url)

cur=URI.parse(cur_url)

p farther.merge(cur)

The result:

#<URI::HTTP:0x15bc060
URL:http://www.try.com/?page=2http://www.try.com/?page=2

But what I want is:

http://www.try.com/test.aspx?page=2

So I think this is a bug,because the ?page=2 is legal relative url in
html.


#2

nan wu wrote:

site=URI.parse(site_url)

http://www.try.com/test.aspx?page=2

So I think this is a bug,because the ?page=2 is legal relative url in html.

It’s legal under RFC 3986, but not under RFC 2396, as far as I know.
The URI library is written to conform to the latter. There was a
suggestion a little while ago to update it, but I don’t know that
anything came of it. If I had the time I’d do it myself, but I’m under
the gun at the moment.


#3

Maybe I should report it to the Akira Yamada the original author of URI
lib.
The URI lib should be updated since we will meet many cases like that
with
RFC 3986.

I have checked the source codes of URI lib. I found it completely follow
the
RFC 2396.

2007/7/30, Alex Y. removed_email_address@domain.invalid: