| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 949 人关注过本帖
标题:vb如何把表单里的值post提交
只看楼主 加入收藏
一帘幽梦a
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-8-12
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
vb如何把表单里的值post提交
写的自动填写表单的功能,
现在我想command3按钮把text2 text3的值 post提交上到 savesubmit.php

不知道如何写代码 麻烦高手贴下代码或者告诉我实现思路  谢谢

Dim text() As String
Private Sub Command1_Click()
  text = Split(Text1.text, "/")
  wb = ""
  For i = 0 To UBound(text)
    If i = UBound(text) Then
      wb = wb + "document.all('" + text(i) + "')"
    Else
      wb = wb + "document.frames('" + text(i) + "')."
    End If
    Web.Navigate "javascript:try{" + wb + ".value='" + Text2.text + "';};catch(e){alert('表单路径不正确.')};function a(){};a();"



  Next
End Sub

Private Sub Command2_Click()
 text = Split(Text4.text, "/")
  wb = ""
  For i = 0 To UBound(text)
    If i = UBound(text) Then
      wb = wb + "document.all('" + text(i) + "')"
    Else
      wb = wb + "document.frames('" + text(i) + "')."
    End If
    Web.Navigate "javascript:try{" + wb + ".value='" + Text3.text + "';};catch(e){alert('表单路径不正确.')};function a(){};a();"

  Next
End Sub

Private Sub Command3_Click()

End Sub

Private Sub Form_Load()
Web.Navigate "http://www.
End Sub
搜索更多相关主题的帖子: javascript 如何 
2013-08-13 21:55
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:5 
刚看了你的代码,再结合 这个网页 的源代码,我承认的 理解太简单了。

1、表单没有名字,所以没办法用
 document.表单ID.submit();
 document.getElementById(表单ID).submit()
来提交。

2、按钮名字是 submit ,如果直接搜索按钮,会导致 JS 报错。也无法提交。

现在我能想到唯一的办法,就是 直接模拟 浏览器 提交。

相关函数:
Private Sub 发POST包(数据 As String, URL As String)
    On Error Resume Next
    Dim poststr() As Byte
    poststr = StrConv(数据, vbFromUnicode)
    Web1.Navigate URL, , , poststr, "Content-Type: application/x-www-form-urlencoded"
End Sub

你现在需要做的就是 找到 这个网页的POST包的格式,然后自己填充这个包,调用这个函数,发出去。

可以在 网页开始导航事件里,找到这个 POST 数据。注意,找到的数据是 BYTE 的,需要转 VB的字符串类型。

授人于鱼,不如授人于渔
早已停用QQ了
2013-08-14 09:17
一帘幽梦a
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-8-12
收藏
得分:0 
请问下版主,这个post包的格式怎么找 ,是通过抓包来找吗?调用函数是指的哪个函数呀,
开始导航事件里 找post数据,小菜愚钝 请版主指教
2013-08-15 20:03
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:0 
Private Sub Web1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
    Dim i As String
    i = StrConv(PostData, vbUnicode)        '取提交的数据
    i = URLDecode(i)                        '解码

    If Right(i, 1) = Chr(0) Then
        i = Left(i, Len(i) - 1)
    End If
    'Debug.Print URL            '显示URL及POST数据
    'Debug.Print i

这个 I 得到就是 刚提交的 POST 数据。
你把这个POST数据截下来,然后看它的格式,然后自己组合好。
最后用上面那个函数发出去就是了。
发之前,要先进到你那个 提交页面,以便得到 COOKIE 及来源页面。

授人于鱼,不如授人于渔
早已停用QQ了
2013-08-16 08:29
一帘幽梦a
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-8-12
收藏
得分:0 
POST /savesubmit.php HTTP/1.1
Host: www.
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://www.
Cookie: CNZZDATA288018=cnzz_eid%3D1457558237-1375626128-http%253A%252F%252Fwww.
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 89

user=%B2%E2%CA%D4&os=0&reason=0&hackmode=0&url=http%3A%2F%2Fwww.baidu.com&submit=+Submit+

这个是我抓到的数据 请问版主要怎么组合,然后填充到哪里
2013-08-16 18:28
edc78963
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2013-8-17
收藏
得分:5 
学习了一下
www.
2013-08-17 17:13
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:0 
最后一行 是 POST 数据。

HTTP 协议的结果是:
HTTP头数据。 每行以 vbcrlf 结束。
头数据结束以两个 vbcrlf 结束。
如果是 POST 方式,则头数据结束后,再接着是 POST 数据。
POST 数据,以 VBCRLF 结束。Post 总长度的总长度要在 HTTP头是体现出来。
----------
POST数据="user=" & 用户 & "&os=0&reason=0&hackmode=0&url=" & 被黑的网址 & "&submit=+Submit+"

call 发POST包(POST数据,"http://www.)

授人于鱼,不如授人于渔
早已停用QQ了
2013-08-18 14:17
一帘幽梦a
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-8-12
收藏
得分:0 
感谢版主~~帮了我的忙 谢谢分给你啦
2013-08-19 20:58
快速回复:vb如何把表单里的值post提交
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020684 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved