0

Webサイトをクロールして一意のリンクURL(つまり、hrefs)を探し、そのURLをデータベースに保存するアプリケーションがあります。サイトの各ページにURLがあることを確認します。以下は、データベースに保存されている文字列を取得するためのコードです。

'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を変換して常に一致するようにする方法はありますか?

4

1 に答える 1

0

は定義されていないためBaseURl、正しいかどうかはわかりません。しかしBaseUrl、 = である必要がありますRequest.Url

そしてあなたの

Dim CurrentURL As String = lcase(HttpContext.Current.Request.Url.AbsoluteUri

ストア/取得を行っているため、メソッドを標準化することをお勧めします。store セクションでは を使用するuriReturn.ToString()ため、retrieve セクションでもToString()の代わりに使用する必要がありますAbsoluteUri

于 2013-03-06T03:12:00.120 に答える