2016-11-09 66 views
0

我想檢查用戶名是否在特定的網站上可用,但它出現了404錯誤。404錯誤在HttpWebRequest

Dim Request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://www.instagram.com/" + userToCheck & "/") 
     Dim response As System.Net.HttpWebResponse = Request.GetResponse() 

     Dim sReader As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream) 
     Dim steamResult As String = sReader.ReadToEnd() 

     If steamResult.Contains("Sorry") Then 
      addAvailable() 

Althought這個工程:

Dim Request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://steamcommunity.com/id/" + userToCheck) 
      Dim response As System.Net.HttpWebResponse = Request.GetResponse() 

      Dim sReader As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream) 
      Dim steamResult As String = sReader.ReadToEnd() 

      If steamResult.Contains("The specified profile could not be found.") Then 
       addAvailable() 
      End If 

任何想法有什麼不對?

+2

如果用戶不存在404的情況下做的,你不會指望* * 404? –

+0

是的,但程序停止時,它會給出404。我希望它保持運行,即使它提供了404。 –

+0

定義「停止」,是否拋出異常?如果是這樣,添加一個'Try/Catch'塊。 –

回答

0

如果通過「停止」你意味着它拋出了一個異常,你將不得不將你的代碼包裝在try catch中以便繼續執行。

Try 
     Dim Request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://www.instagram.com/" + userToCheck & "/") 
     Dim response As System.Net.HttpWebResponse = Request.GetResponse() 

     Dim sReader As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream) 
     Dim steamResult As String = sReader.ReadToEnd() 

     If steamResult.Contains("Sorry") Then 
      addAvailable() 
    Catch ex As System.Net.WebException 
     Console.WriteLine(ex.Message) 
    End Try 

編輯:做任何你想在catch塊:)

+0

事情是,它是說,用戶名是可用的時候不是:/如果我把「404」,而不是「對不起」它似乎工作,但不正確,但如果我把「對不起」而不是「404」它不起作用。 –

+0

@DanielAndré您的流閱讀器並未加載實際頁面,而是一個404資源,因此您爲什麼要嘗試閱讀404並且它可以正常工作。如果你想出於任何原因使用「抱歉」,請查看WebClients。 – Jaxi

+0

按下Enter鍵添加一個新行,並發表意見,意外。 https://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx檢查此並看看WebClient.DownloadString() – Jaxi