Member 10974007 Ответов: 1

Как проверить, существует url или нет?


Dim urlexist As Integer = 0
     Dim urlDoesNotExist As Integer = 0
     For Each line In TextBox1.Text.Split(Environment.NewLine)
         Dim url As New System.Uri(line)
         Dim req As System.Net.WebRequest
         req = System.Net.WebRequest.Create(url)
         Dim resp As System.Net.WebResponse
         Try
             resp = req.GetResponse()
             resp.Close()
             req = Nothing
             urlexist = urlexist + 1
             'MsgBox("Website Found!")
         Catch ex As Exception
             req = Nothing
             urlDoesNotExist = urlDoesNotExist + 1
             '   MsgBox("Website not found. Check the url and internet connection")
             Button1.Text = urlDoesNotExist + 1
             Return
         End Try
     Next
     MsgBox("exist is ", urlexist)
     MsgBox("non-exist is ", urlDoesNotExist)


Что я уже пробовал:

этот цикл останавливается после 2-х почему ? теперь я не понимаю, что пошло не так в этом деле

Graeme_Grant

- как останавливается?

Member 10974007

зависает после 8

Graeme_Grant

Это все равно что сказать, что моя машина не заводится. Но как?

F-ES Sitecore

Убедитесь, что ваши объекты запроса и ответа удаляются, базовый сетевой уровень может препятствовать тому, чтобы у вас было более двух подключений к одному и тому же домену на одном и том же порту одновременно, и это может произойти в вашем коде, если вы не удаляете свои объекты (установка значения Nothing в catch не является удалением)

1 Ответов

Рейтинг:
2

Graeme_Grant

Это должно сделать трюк:

Private Function CheckUrl(uri As Uri) As Boolean
    Dim request As HttpWebRequest = DirectCast(WebRequest.Create(uri), HttpWebRequest)
    request.Method = WebRequestMethods.Http.Head
    Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
    Return response.StatusCode = HttpStatusCode.OK
End Function