3

我目前正在开发一个 HTML 解析器,我来到了一个没有正确编码 url 的特定网站。在主页(“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 浏览器中具有相同的行为吗?

4

1 回答 1

1

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

我的建议是试试这个:

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

File.join 支持这种操作:)

于 2012-10-23T11:10:49.013 回答