请选择 进入手机版 | 继续访问电脑版

玩酷之家

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 510|回复: 1

VB.NET获取网页源代码

[复制链接]

17

主题

19

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
发表于 2018-7-22 17:13:05 | 显示全部楼层 |阅读模式

VS2015测试通过

  1. Public Function LobDotCn(ByVal url_Link As String, ByVal IsGb2312 As Boolean)

  2.         On Error Resume Next
  3.         Dim XmlHttp As Object
  4.         XmlHttp = CreateObject("Microsoft.XMLHttp")
  5.         XmlHttp.Open("POST", url_Link, False)
  6.         XmlHttp.Send()
  7.         Dim WebContent As Object
  8.         Dim Str_WebContent As String
  9.         If IsGb2312 Then
  10.             WebContent = XmlHttp.ResponseBody
  11.             Str_WebContent = System.Text.Encoding.Default.GetString(WebContent)
  12.         Else
  13.             WebContent = XmlHttp.ResponseText
  14.             Str_WebContent = WebContent.ToString
  15.         End If
  16.         XmlHttp = Nothing
  17.         LobDotCn = Str_WebContent

  18.     End Function
复制代码


回复

使用道具 举报

17

主题

19

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
 楼主| 发表于 2018-7-22 19:37:40 | 显示全部楼层
修正版

  1.     Function getHtmlStr(ByVal strURL As String, ByVal IsGb2312 As Boolean) '获取源码
  2.         On Error GoTo reStart
  3. reStart:

  4.         'My.Application.DoEvents()
  5.         Dim stime, ntime
  6.         Dim XmlHttp As Object
  7.         XmlHttp = CreateObject("Microsoft.XMLHTTP")
  8.         XmlHttp.open("GET", strURL, True)
  9.         XmlHttp.setRequestHeader("If-Modified-Since", "0")
  10.         XmlHttp.send
  11.         stime = Now '获取当前时间

  12.         While XmlHttp.readyState <> 4
  13.             My.Application.DoEvents()
  14.             ntime = Now '获取循环时间
  15.             If DateDiff("s", stime, ntime) > 15 Then getHtmlStr = "OutTime" : Exit Function '判断超出3秒即超时退出过程
  16.         End While

  17.         If XmlHttp.ResponseText.ToString = "" Then
  18.             getHtmlStr = "OutTime"
  19.         Else

  20.             If IsGb2312 Then
  21.                 Dim WebContent As Object
  22.                 WebContent = XmlHttp.ResponseBody
  23.                 getHtmlStr = System.Text.Encoding.Default.GetString(WebContent)
  24.             Else
  25.                 getHtmlStr = XmlHttp.ResponseText.ToString
  26.             End If

  27.         End If

  28.         XmlHttp = Nothing
  29.         'My.Application.DoEvents()

  30.     End Function
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|玩酷之家 ( 鄂ICP备14012049号-1 )

GMT+8, 2018-12-12 15:54 , Processed in 0.165676 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表