生成的绝对URI因浏览器URI而异

时间:2016-02-04 16:46:45

标签: c# browser uri absolute relative

我用url打开Firefox 的 http://a.com/c/d 即可。 此页面包含<a>,其中href(相对网址) e / f

如果悬停在<a>上,浏览器会显示http://a.com/e/f

但下一个代码会生成另一个结果

var uri = new Uri("http://a.com/c/d", "e/f");
return HttpUtility.HtmlDecode(uri.ToString());

输出

http://a.com/c/e/f

如果我没有误解,new Uri构造函数满意RFC 3986,但浏览器会获得正确的结果。

new Uri()有什么问题?

修改

真正的基本网址:http://1001parfums.ru/catalog/zhenskij-parfyum

页面上的

href:<a href="products/tualetnaya-voda-escada-moon-sparkle-100m-" data-product="5854"></a>

浏览器获取:http://1001parfums.ru/products/tualetnaya-voda-escada-moon-sparkle-100m-

算法得到:http://1001parfums.ru/catalog/products/tualetnaya-voda-escada-moon-sparkle-100m-

EDIT2: 新例子(previos not working):

基本网址:http://www.kurtki54.ru/catalog/vetrovka.html

页面上的

href:<a href="catalog/vetrovka/ast-1523.html">

浏览器:http://www.kurtki54.ru/catalog/vetrovka/ast-1523.html

新Uri:http://www.kurtki54.ru/catalog/catalog/vetrovka/ast-1523.html

fiddle

0 个答案:

没有答案