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

当ressource可用时,VB.net HttpWebRequest返回403禁止,vb.net,httpwebrequest,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 objR

您好,我在我的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

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

请求需要一个useragent头。 如果将对象更改为
HttpWebResponse
HttpWebRequest
,并添加一个通用用户代理,它将返回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()

感谢工作了很多,为什么以前的网站不关心用户,但现在他们关心用户?你知道吗?对不起,我不是100%确定为什么,但我也注意到了。只能假设它是为了尝试并确保它只返回200到实际用户的浏览器。