У меня есть приложение, которое сканирует веб-сайт для уникальных URL-адресов ссылок (т. Е. Hrefs), а затем сохраняет URL-адреса в базе данных. Я гарантирую, что есть URL-адрес для каждой страницы сайта. Ниже приведен код для получения строки, сохраненной в базе данных.Сравнение URL-адресов в ASP.NET
'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-адресом текущей страницы. Ниже приведен код для получения текущего URL-адреса страницы.
Dim CurrentURL As String = lcase(HttpContext.Current.Request.Url.AbsoluteUri
Мой вопрос: могу ли я быть уверен, что найду совпадение в базе данных с использованием текущего URL-адреса страницы? То есть могут быть различия в строке, полученной из href и строки, возвращаемой с текущей страницы, даже если они указывают на одну и ту же страницу? Есть ли способ конвертировать URL-адреса, чтобы они всегда совпадали?
Можете ли вы привести пример разницы между _ "строкой, полученной из href и строкой, возвращаемой с текущей страницы" _? –
Преобразование URL-адреса в нижний регистр может сломать URL-адрес, между прочим. –