正在确定不带文件名的相对URL的路径



我使用这个简单的代码从我从网页解析的链接中检索绝对路径。CurrentAddress是网页地址,testingAddress是我找到的链接

String uri = new Uri(new Uri(currentAddress), new Uri(testingAddress)).AbsoluteUri;

这几乎总是有效的,并且它可以辨别testingAddress是否相对于页面。

我遇到了一个不指定文件名的相对链接的问题,例如"/portal/combo/?v=1"

在这种情况下,异常

"无法确定URI的格式";

被提升。

如果我指定testingAddress是相对的,它是有效的,但在这一点上,我失去了代码的功能,该代码本应能够理解如何单独组合路径,并且在连接路径之前,我必须手动检查路径。

有没有办法让它发挥作用,或者我必须接受它并添加控件来准备testingAddress字符串?

使用将string?作为第二个参数的重载(来自文档(:

Uri(Uri,String(

基于指定的基Uri和相对Uri字符串初始化Uri类的新实例。

public Uri (Uri baseUri, string? relativeUri);

示例

var currentAddress = "https://stackoverflow.com";
var testingAddress = "/questions/67382787/determining-path-of-a-relative-url-without-filename";
String uri = new Uri(
baseUri: new Uri(currentAddress), 
relativeUri: testingAddress).AbsoluteUri;
// uri is "https://stackoverflow.com/questions/67382787/determining-path-of-a-relative-url-without-filename"

最新更新