酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windows Mobileで「Wikipediaの特別:RandomPageのリダイレクト先」のURLを取得する

上記のアドレスにアクセスすると、Wikipedia(日本語)内のランダムなページに飛ばされます。ブラウザのスタートページに設定して、1日1ネタ書いているブログもある様です。

Wikipediaのリダイレクト先のURLを取得しようとすると、403エラーが返ってきておりました。延々と悩んでおりましたがどうやらUserAgentが無い場合、エラーになる事がわかりました。

以下、Wikipediaの特別:RandomPageのリダイレクト先のURLを取得するソースコードです。

    Public Function GetWikipediaUrl() As System.Uri
        ' WikipediaのランダムページURL
        Dim randomUrl As New System.Uri("http://ja.wikipedia.org/wiki/Special:Randompage")

        Dim req As HttpWebRequest = Nothing
        Dim res As HttpWebResponse = Nothing
        Try
            req = HttpWebRequest.Create(randomUrl)

            ' UserAgentを設定しなければ403が返される
            req.UserAgent = "UserAgent/1.0.0"
            res = req.GetResponse()

            Return res.ResponseUri
        Catch ex As Exception
            Throw
        Finally
            If (res IsNot Nothing) Then
                res.Close()
            End If
        End Try
    End Function