2016-09-30 55 views
3

你好我在vb.net應用程序中使用了一段時間的代碼,但今天當我嘗試它時,它返回了一個403錯誤。VB.net當有資源可用時,HttpWebRequest返回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錯誤,因爲當我去鏈接本身我得到確定的消息。

回答

2

請求需要一個useragent頭。 如果更改對象HttpWebResponseHttpWebRequest,並添加一個通用的UserAgent它應該返回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() 
+0

由於做了很多,爲什麼網站對useragant didnt照顧以前那樣,但現在他們做什麼?你知道嗎? –

+0

對不起,我不是100%確定爲什麼,但我也注意到了它。只能假設它是試圖確保它只返回200秒到實際用戶的瀏覽器。 – Neal