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个线程,它会工作吗? 这也不会影响我的网络连接吗?
我不想浪费时间创建线程和代码一百次,所以如果你知道答案,请告诉我应该怎么做
答案 0 :(得分:0)
我认为可能导致问题的一件事就是goto。如果出现错误,则重试,但如果每次请求页面时都发生错误,则无法打破方法,从而导致无限循环。你应该办理入住手续,如果没有设置取消标志,只能再试一次。其次,您运行的线程数可能存在问题,具体取决于每个线程必须执行的工作量。每个线程都有一个CPU和内存成本,它可以固定你的机器,特别是如果你在其中一个线程中得到一个无限循环。其他一切都得到了“它取决于”。您的电脑和互联网连接将决定其他一切。有可用于监控此工具的工具,我建议使用它们来查看哪些有效。我发现此页面包含大量信息,它可能包含您要查找的内容 - http://www.slac.stanford.edu/xorg/nmtf/nmtf-tools.html。希望这会有所帮助。
瓦德