当资源可用时,VB.net HttpWebRequest 返回 403 禁止

Cri*_*Med 4 vb.net httpwebrequest

你好,我在 vb.net 应用程序中使用了一段时间的代码,但今天当我尝试它时,它返回了 403 错误。

Shared Function GetHtmlPage(ByVal http://mmo-stream.net/AiaSpecto/tester.php As String) As String

    Dim strResult As String
    Dim objResponse As WebResponse
    Dim objRequest As WebRequest

    objRequest = HttpWebRequest.Create(strURL)

    objResponse = objRequest.GetResponse()
    Using sr As New StreamReader(objResponse.GetResponseStream())
        strResult = sr.ReadToEnd()
        sr.Close()
    End Using
    Return strResult

End Function
Run Code Online (Sandbox Code Playgroud)

我真的不明白为什么我会收到 403 错误,因为当我进入链接本身时,我会收到 OK 消息。

Nea*_*eal 5

该请求需要一个 useragent 标头。如果将对象更改为HttpWebResponseHttpWebRequest并添加通用用户代理,它应该返回 OK :

Dim objResponse As HttpWebResponse
Dim objRequest As HttpWebRequest
objRequest = HttpWebRequest.Create(strURL)
objRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36"
objResponse = objRequest.GetResponse()
Run Code Online (Sandbox Code Playgroud)