我目前正在开发一个 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 浏览器中的行为相同,您有什么建议?
最佳答案
我认为 uri + 'a/b' 只是在进行字符串连接。
我的建议是尝试这个:
File.join('http://www.example.com', 'a/b')
File.join 支持这种操作:)
关于Ruby:URI 连接行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13029109/