VB.net парсинг HTML 100 раз.Это будет работать? - PullRequest
0 голосов
/ 01 февраля 2012
Imports System.Web
Imports System.Net
Imports System.Net.ServicePointManager

Public Class GetSource

Function GetHtml(ByVal strPage As String) As String
tryAgain:
    ServicePointManager.UseNagleAlgorithm = True
    ServicePointManager.Expect100Continue = True
    ServicePointManager.CheckCertificateRevocationList = True
    ServicePointManager.DefaultConnectionLimit = 100
    Dim strReply As String = "NULL"
    Try
        Dim objhttprequest As System.Net.HttpWebRequest
        Dim objhttpresponse As System.Net.HttpWebResponse

        objhttprequest = System.Net.HttpWebRequest.Create(strPage)
        objhttprequest.Proxy = proxyObject
        objhttprequest.AllowAutoRedirect = True
        objhttprequest.Timeout = 100000
        objhttpresponse = objhttprequest.GetResponse
        Dim objstrmreader As New StreamReader(objhttpresponse.GetResponseStream)

        strReply = objstrmreader.ReadToEnd()

    Catch ex2 As System.Net.WebException

        GoTo tryAgain
    Catch ex As Exception
        strReply = "ERROR! " + ex.Message.ToString

        GoTo tryAgain

    End Try

    Return strReply

End Function

Здесь я получил код vb.net, где я анализирую веб-сайт на наличие html. Эта функция работает нормально.Вопрос заключается в следующем ...

1.Если я запускаю 100 потоков с этой функцией одновременно, будет ли она работать?2. Не повлияет ли это на мое интернет-соединение?

Я не хочу сто раз тратить время на создание потоков и кодов, поэтому, если вы знаете ответ, пожалуйста, посоветуйте мне, что мне делать вместо этого

1 Ответ

0 голосов
/ 01 февраля 2012

Единственное, что я вижу, что может вызвать у вас проблемы - это перейти.Вы повторяете попытку, если получаете ошибку, но нет способа выйти из метода, если ошибка возникает каждый раз, когда вы запрашиваете страницу, вызывая бесконечный цикл.Вы должны поставить чек, сказав, только попробуйте снова, если какой-либо флаг отмены не был установлен.Во-вторых, могут быть проблемы с количеством выполняемых потоков, в зависимости от того, сколько работы должен выполнять каждый поток.Для каждого потока есть стоимость процессора и памяти, и это может привязать вашу машину, особенно если вы получаете бесконечный цикл в одном из них.Все остальное получает «это зависит».Ваш компьютер и подключение к Интернету будут определять все остальное.Есть инструменты, доступные для мониторинга, и я бы предложил использовать их, чтобы увидеть, что работает.Я нашел эту страницу с большим количеством информации, она может иметь то, что вы ищете - http://www.slac.stanford.edu/xorg/nmtf/nmtf-tools.html. Надеюсь, это поможет.

Wade

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...