我目前正在开发一个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浏览器相同的行为?
答案 0 :(得分:1)
我认为uri +'a / b'只是在进行字符串连接。
我建议尝试这样做:
File.join('http://www.example.com', 'a/b')
File.join支持这种操作:)