我有一个应用程序可以抓取网站以获取唯一的链接网址(即href),然后将网址保存到数据库中。我将确保网站中的每个页面都有网址。下面是获取保存到数据库的字符串的代码。
'url is the url obtained from the link's href
Dim uriReturn As Uri = New Uri(url, UriKind.RelativeOrAbsolute)
'Make it absolute if it's relative
If Not uriReturn.IsAbsoluteUri Then
Dim baseUri As New Uri(BaseUrl)
uriReturn = New Uri(baseUri, uriReturn)
End If
Return LCase(uriReturn.ToString)
在应用程序的另一部分中,我有一节使用当前页面的url查询数据库。以下是获取当前页面网址的代码。
Dim CurrentURL As String = lcase(HttpContext.Current.Request.Url.AbsoluteUri
我的问题是,我可以确定我会使用当前页面网址在数据库中找到匹配项吗?那可能是从href获得的字符串和从当前页面返回的字符串有差异,即使它们指向同一页面?有没有办法转换网址以确保它们始终匹配?
答案 0 :(得分:0)
由于未定义BaseURl
,因此无法判断您是否正确。但BaseUrl
应为= Request.Url
。
和你的
Dim CurrentURL As String = lcase(HttpContext.Current.Request.Url.AbsoluteUri
由于您正在进行存储/检索,我建议您标准化您的方法。在商店部分,您使用uriReturn.ToString()
,因此在检索部分中,您还应使用ToString()
代替AbsoluteUri
。