vb中的Microsoft.XMLHTTP如何使用啊,他和webborser,inet,之间有什么区别啊?

zgqtxwd 2008-05-03 04:13:06
哪个更实用,更高级啊?
...全文
2783 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
perrycoy 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 silencenet 的回复:]
VB.NET codeOptionExplicitPrivate objstreamAs ADODB.StreamPrivate retrievalAsNew XMLHTTP'新建XMLHTTP对象PrivateSub Form_Load()Set objstream=New ADODB.StreamMsgBox GetPage("http://www.baidu.com")End SubPrivateFunction GetPage(Url)OnErrorResumeNextSet retrieval=New MSXML2.XMLHTTP
retrieval.Open"GET", Url,FalseIf Err<>0ThenMsgBox"错误!"EndIf
retrieval.sendIf Err.Number<>0Then'未找到服务器! GetPage="ERROR"Else
GetPage= BytesToBstr(retrieval.responseBody)'成功获取网页源码!EndIfEnd FunctionPrivateFunction BytesToBstr(body)'用于处理编程转换OnErrorResumeNext
objstream.Type=1
objstream.Mode=3
objstream.Open
objstream.Write body
objstream.Position=0
objstream.Type=2
objstream.Charset="GB2312"
BytesToBstr= objstream.ReadText
objstream.CloseEnd Function

以前用HttpXML获取源码用的。。 好应该可以用吧。。
记得引用两个组件。。
一个ADO 
注意。。低版本的没有这个Stream对象。我这用的是2.8的。。

一个XMLHTTP
[/Quote]

那怎样才能筛选出源码中 我想要的信息 而不是 整个代码呢?
zgqtxwd 2008-05-11
  • 打赏
  • 举报
回复
XMLHTTP.setRequestHeader "Content-Length", Len(需要Post的数据)

这里面的Len(需要Post的数据) 可以省略吗?我看到inet里面好像有时候可以省略的,在什么情况下可以省略啊?
silencenet 2008-05-10
  • 打赏
  • 举报
回复

XMLHTTP.setRequestHeader "Content-Length", Len(需要Post的数据)
XMLHTTP.Open "POST",网址,同步False或者异步True
XMLHTTP.Send "需要Post的数据"

如果在Open方法中最后一个参数为真(异步)
用计时器检查XMLHTTP.ReadyState属性
如果值=4.。就可以查看返回的数据XMLHTTP.responseText

如果使用同步。。
XMLHTTP.responseText这句可以直接写在Send方法后面


multipart/form-data 
这个的话也要使用setRequestHeader更改HTTPHEAD
忘名字了。。
你查下HTTP协议吧
你可以试下Content-Type
XMLHTTP.setRequestHeader "Content-Type","multipart/form-data"

既然都明确使用什么组件了。。自己GG找比较好。。
INET查MSDN。。上面说的很清楚
silencenet 2008-05-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zzyong00 的回复:]
引用 8 楼 SilenceNet 的回复:
INET多数用在网页上。。Ftp很少。。


不敢苟同
[/Quote]

个人看法不同正常
这个没法得出结论的
还是看LZ的问题吧。。
看他貌似是想获取网页源码。。

强烈建议LZ是用XMLHTTP。。哈哈。。
XMLHTTP强大!
zgqtxwd 2008-05-09
  • 打赏
  • 举报
回复
哈哈,见到两高人了,,我要把握机会,

VB6中关于inet或Microsoft.XMLHTTP进行表单POST的问题?
如何构造表单采用enctype="multipart/form-data"方式发送的语句啊?

zzyong00 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 SilenceNet 的回复:]
INET多数用在网页上。。Ftp很少。。

[/Quote]
不敢苟同
silencenet 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zzyong00 的回复:]
引用 6 楼 SilenceNet 的回复:
忘了。。
使用WebBrowser获取源码比另外两个要慢

INET与XMLHTTP速度没有试过。。
XMLHTTP要比INET强大
单说获取源码的话可能两个都差不多吧

inet可以支持ftp协议,xmlhttp可以吗?
[/Quote]

-_-!!!

这样算。。XMLHTTP可以以XML文档或者流返回。。INET可以吗。。
特别是UTF-8格式网页。。如果用Inet在VB中处理甚是麻烦。。且慢。。
INET多数用在网页上。。Ftp很少。。
用Inet做下载。。的就更少了。。
XMLHTTP见这名字都知道只支持HTTP。。
个人觉得XMLHTTP还是比INET强大
zzyong00 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 SilenceNet 的回复:]
忘了。。
使用WebBrowser获取源码比另外两个要慢

INET与XMLHTTP速度没有试过。。
XMLHTTP要比INET强大
单说获取源码的话可能两个都差不多吧
[/Quote]
inet可以支持ftp协议,xmlhttp可以吗?
silencenet 2008-05-05
  • 打赏
  • 举报
回复
忘了。。
使用WebBrowser获取源码比另外两个要慢

INET与XMLHTTP速度没有试过。。
XMLHTTP要比INET强大
单说获取源码的话可能两个都差不多吧
silencenet 2008-05-05
  • 打赏
  • 举报
回复

Option Explicit


Private objstream As ADODB.Stream
Private retrieval As New XMLHTTP '新建XMLHTTP对象

Private Sub Form_Load()
Set objstream = New ADODB.Stream
MsgBox GetPage("http://www.baidu.com")
End Sub

Private Function GetPage(Url)
On Error Resume Next
Set retrieval = New MSXML2.XMLHTTP
retrieval.Open "GET", Url, False
If Err <> 0 Then
MsgBox "错误!"
End If
retrieval.send
If Err.Number <> 0 Then '未找到服务器!
GetPage = "ERROR"
Else
GetPage = BytesToBstr(retrieval.responseBody) '成功获取网页源码!
End If
End Function

Private Function BytesToBstr(body) '用于处理编程转换
On Error Resume Next
objstream.Type = 1
objstream.Mode = 3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = "GB2312"
BytesToBstr = objstream.ReadText
objstream.Close
End Function


以前用HttpXML获取源码用的。。 好应该可以用吧。。
记得引用两个组件。。
一个ADO
注意。。低版本的没有这个Stream对象。我这用的是2.8的。。

一个XMLHTTP
zgqtxwd 2008-05-03
  • 打赏
  • 举报
回复
不错,简单明了,哪有Microsoft.XMLHTTP的教程吗?
daixinhou 2008-05-03
  • 打赏
  • 举报
回复
片面的解释:XMLHTTP用来向Web提交和获取xml数据,webborser用来在客户端显示Web信息,inet用来向Web提交和获取html和ftp信息。
zgqtxwd 2008-05-03
  • 打赏
  • 举报
回复
daixinhou 2008-05-03
  • 打赏
  • 举报
回复
关于webbrowser,innet,xmlhttp获取网页源码的比较
http://tieba.baidu.com/f?kz=255631463

如何用VB接受xmlHttp传输过来的数据
http://faq.csdn.net/read/169179.html

如何用VB接受xmlHttp传输过来的数据
http://faq.csdn.net/read/169179.html

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧