如何用VB截取webbrowser POST的数据?

aydd2004 2006-11-24 01:21:14
程序自己写的,用的控件是webbrowser,请问有什么方法能截取到它向服务器提交的数据!其实就是包括HTTP头和提交内容!只要截取提交的就可以了,别的不要!
说明一点,就是希望能把这些代码嵌到程序中,每次运行的时候都能实时地将POST的数据保存下来!

希望大家帮帮忙拉!觉得分不够的我可以加啊!最好能给一些代码!
...全文
762 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
VBToy 2006-12-09
  • 打赏
  • 举报
回复
'这个更详细一些
Option Explicit

Private Sub Form_Load()
WebBrowser1.Navigate2 "about:blank"
WebBrowser1.Document.open
WebBrowser1.Document.write "<html>" & vbCrLf
WebBrowser1.Document.write "<title>test</title>" & vbCrLf
WebBrowser1.Document.write "<body>" & vbCrLf
WebBrowser1.Document.write "<form action='test.asp' method=post>" & vbCrLf
WebBrowser1.Document.write "<input type=text><br>" & vbCrLf
WebBrowser1.Document.write "<input type=text><br>" & vbCrLf
WebBrowser1.Document.write "<input type=checkbox><br>" & vbCrLf
WebBrowser1.Document.write "<input type='submit' value='提交'" & vbCrLf
WebBrowser1.Document.write "</form>" & vbCrLf
WebBrowser1.Document.write "</body></html>" & vbCrLf
WebBrowser1.Document.Close
End Sub

Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
If URL = "about:blank" Then
Exit Sub
Else
Dim s As String
Dim i As Integer
Dim eleNum As Integer
eleNum = WebBrowser1.Document.Forms(0).elements.length
For i = 0 To eleNum - 1
s = s & WebBrowser1.Document.Forms(0).elements(i).Value & ","
Next i
Debug.Print s
Cancel = True '不提交
End If
End Sub
VBToy 2006-12-09
  • 打赏
  • 举报
回复
Option Explicit

Private Sub Form_Load()
WebBrowser1.Navigate2 "about:blank"
WebBrowser1.Document.open
WebBrowser1.Document.write "<html>" & vbCrLf
WebBrowser1.Document.write "<title>test</title>" & vbCrLf
WebBrowser1.Document.write "<body>" & vbCrLf
WebBrowser1.Document.write "<form action='test.asp' method=post>" & vbCrLf
WebBrowser1.Document.write "<input type=text><br>" & vbCrLf
WebBrowser1.Document.write "<input type='submit' value='提交'" & vbCrLf
WebBrowser1.Document.write "</form>" & vbCrLf
WebBrowser1.Document.write "</body></html>" & vbCrLf
WebBrowser1.Document.Close
End Sub

Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
If URL = "about:blank" Then
Exit Sub
Else
Dim s As String
s = WebBrowser1.Document.Forms(0).All(0).Value '提交的数据之一
Debug.Print s
Cancel = True '不提交
End If
End Sub

zhanghuajie 2006-12-07
  • 打赏
  • 举报
回复
在.NET里面可以,我做过的
cangwu_lee 2006-12-06
  • 打赏
  • 举报
回复
有一个BeforeXXX事件,查查看
dingyanwei 2006-12-06
  • 打赏
  • 举报
回复
这个是不可能的,除非ie又出现了bug
yyvvcc 2006-12-06
  • 打赏
  • 举报
回复
我也想知道这个问题,好像很多人都在研究这个哦~~~~~~~
zdtp2008 2006-11-30
  • 打赏
  • 举报
回复
我也需要
VBToy 2006-11-24
  • 打赏
  • 举报
回复
做一个简单的服务器,webbrowser与这个服务器端连接后并发送数据,这样就可以看到post的数据了。
aydd2004 2006-11-24
  • 打赏
  • 举报
回复
难道就没有简单点的方法吗?

1,502

社区成员

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

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