Ruby:URI连接行为

时间:2012-10-23 11:07:03

标签: ruby uri

我目前正在开发一个HTML解析器,我来到一个没有按网址正确编码的特定网站。在主页面上(“http://example.com/a/b”),我有一些以“a / b”开头但没有初始“/”的链接。根据我对相对路径的理解,Ruby URI正常工作:

uri = URI("http://example.com/a/b")
(uri + "a/b").to_s
==> http://example.com/a/a/b

但是,在浏览器(如Firefox或Chrome)中,行为似乎有所不同,因为页面定向到http://example.com/a/b(顺便说一下)。

你以前见过这个吗?你建议在Ruby中使用与Web浏览器相同的行为?

1 个答案:

答案 0 :(得分:1)

我认为uri +'a / b'只是在进行字符串连接。

我建议尝试这样做:

File.join('http://www.example.com', 'a/b')

File.join支持这种操作:)