确定没有文件名的相对 URL 的路径
Determining path of a relative URL without filename
我使用这个简单的代码从我从网页解析的 link 中检索绝对路径。
CurrentAddress
是网页地址,testingAddress
是我找到的link
String uri = new Uri(new Uri(currentAddress), new Uri(testingAddress)).AbsoluteUri;
这几乎总是有效,它可以辨别 testingAddress
是否与页面相关。
我在使用未指定文件名的相关 link 时遇到问题,例如 "/portal/combo/?v=1"
在那种情况下例外
"the format of the URI could not be determined"
得到提升。
如果我指定 testingAddress
是相对的,它会起作用,但那时我失去了代码的功能,该功能旨在能够理解如何自行组合路径,我必须检查在加入它们之前手动设置路径。
有没有办法让它工作,或者我必须接受它并添加控件来预解析 testingAddress
字符串?
使用将 string?
作为第二个参数的重载(来自 documentation):
Uri(Uri, String)
Initializes a new instance of the Uri class based on the specified base URI and relative URI string.
public Uri (Uri baseUri, string? relativeUri);
例子
var currentAddress = "https://whosebug.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 "
我使用这个简单的代码从我从网页解析的 link 中检索绝对路径。
CurrentAddress
是网页地址,testingAddress
是我找到的link
String uri = new Uri(new Uri(currentAddress), new Uri(testingAddress)).AbsoluteUri;
这几乎总是有效,它可以辨别 testingAddress
是否与页面相关。
我在使用未指定文件名的相关 link 时遇到问题,例如 "/portal/combo/?v=1"
在那种情况下例外
"the format of the URI could not be determined"
得到提升。
如果我指定 testingAddress
是相对的,它会起作用,但那时我失去了代码的功能,该功能旨在能够理解如何自行组合路径,我必须检查在加入它们之前手动设置路径。
有没有办法让它工作,或者我必须接受它并添加控件来预解析 testingAddress
字符串?
使用将 string?
作为第二个参数的重载(来自 documentation):
Uri(Uri, String)
Initializes a new instance of the Uri class based on the specified base URI and relative URI string.
public Uri (Uri baseUri, string? relativeUri);
例子
var currentAddress = "https://whosebug.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 "