2016-11-09 156 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