VB获得迅雷资讯弹出网页的源代码

迅雷资讯弹出网页采用UTF-8编码,需要编制自定义函数对XMLHTTP对象获得的源代码进行转换:
  1. Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As LongByVal dwFlags As LongByVal lpMultiByteStr As LongByVal cchMultiByte As LongByVal lpWideCharStr As LongByVal cchWideChar As LongAs Long
  2. Private Const CP_UTF8 = 65001
  3. Function Utf8ToUnicode(ByRef Utf() As ByteAs String
  4.     Dim lRet As Long
  5.     Dim lLength As Long
  6.     Dim lBufferSize As Long
  7.     lLength = UBound(Utf) - LBound(Utf) + 1
  8.     If lLength <= 0 Then Exit Function
  9.     lBufferSize = lLength * 2
  10.     Utf8ToUnicode = String$(lBufferSize, Chr(0))
  11.     lRet = MultiByteToWideChar(CP_UTF8, 0, VarPtr(Utf(0)), lLength, StrPtr(Utf8ToUnicode), lBufferSize)
  12.     If lRet <> 0 Then
  13.         Utf8ToUnicode = Left(Utf8ToUnicode, lRet)
  14.     End If
  15. End Function
  16. Function SourcecodeofXunleizixun(ByVal menuindex As LongAs String
  17.     Dim b() As Byte, indexurl(5) As String
  18.     If Not menuindex Like "[0-5]" Then Exit Function
  19.     indexurl(0) = "http://recommend.xunlei.com/desknews_v2_game.html"    '0---游戏
  20.     indexurl(1) = "http://recommend.xunlei.com/desknews_v2_ent.html"    '1---娱乐
  21.     indexurl(2) = "http://biz5c.sandai.net/desktopnews/iframe/hot_14.htm"    '2---婚恋
  22.     indexurl(3) = "http://www.eachnet.com/landing/xunlei08_3.html"    '3---网购
  23.     indexurl(4) = "http://biz5c.sandai.net/desktopnews/iframe/hot_2.htm"    '4---财经
  24.     indexurl(5) = "http://biz5c.sandai.net/desktopnews/iframe/hot_3.htm"    '5---IT
  25.     With CreateObject("Msxml2.XMLHTTP")
  26.         .Open "GET", indexurl(menuindex), False
  27.         .Send
  28.         b = .ResponseBody
  29.     End With
  30.     SourcecodeofXunleizixun = Utf8ToUnicode(b)
  31. End Function
  32. Sub Getxunlei()
  33.     Debug.Print SourcecodeofXunleizixun(1)    '娱乐资讯
  34. End Sub

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原来一直从事企业管理软件的开发,经常苦恼于信息系统的开发困难。后来,公司产品要往面向对象方面转,希望能够通过新技术的应用,提高开发效率。不经意地发现了微软站点的一篇文章: 《Engine-Collection-Class,一种用来建立可重用企业组件的设计模式》。刚好,公司主要采用VB语言。经过仔细研读,不禁喜出望外。 经过短时间的验证、修改和使用,最终确定了公司采用这种模式作为对象层的开发模式。确定了所有和数据库交互的业务对象全部采用这种模式封装,并且统一调用。由此,也走上了长达六年的摸索之路。 实际编写中发现,大量的类的创建过程都是在根据一个模板拷贝粘贴。于是开发一个类生成工具的想法自然而然的就出现了。开始的方法是通过Rose的VB代码生成模板创建,建立VB代码模板,然后通过Rose建立模型,通过Sterotype关联到我们的模板类,然后自动产生代码。效果不错,不过Rose仅仅生成代码框架,仍然需要大量手工操作。于是决定写一个独立的代码工具,来自动产生所有的代码。经过不断的模式和改进,一个简单实用的工具问世了。命名为:OrFlying ! 随着时间的进步,VB逐步淡出主力开发语言的阵营。我也转向了.net/j2ee的方向,使用vb.net ado.net重新定义ECC模式和编写ECC代码生成器的想法,一直在我心头。终于在2003年第一次写下了第一行代码,到目前为止,该方法已经经过我长时间的使用,基本稳定。 不敢说能够解决所有OR中的问题,但是能解决大量代码工作量我已经很知足了 期间,研究过hibernate JDO 等,仍然继续了OrFlying的工作,我想它的存在总是有其价值所在。我主要看重两点: 1 全部代码是生成的,和数据库的访问全部由具体的代码,而没有后台通用的组件和层次,当然也注定了其应用面的狭窄; 2 这样产生的对象层,通过 . 可以一级一级的不断出现提示,这个特点是我非常喜欢的,也就是所谓的对象形式化吧。不知道理解对不对 OrFlying 有vbvb.net两个版本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值