【VB】vb如何post提交 30

vb如何post提交易语言可以用精易模块的网页_访问轻松做到vb该怎么做?比如一个网站:【123.com/login.asp】登陆要提交【u=admin&p=123123... vb如何post提交

易语言可以用精易模块的网页_访问 轻松做到
vb该怎么做?
比如一个网站:【123.com/login.asp】
登陆要提交【u=admin&p=123123】
用vb应该怎么写?
给个实例就好 或者给个方法.....给个教程是最好的了....

【你们也可以让我做一次伸手党 直接帮我做好也行的哦...】
给实例最好带上注释= =QAQ
展开
 我来答
匿名用户
2014-07-14
展开全部
vb的inet、webbrowser、winsock控件都可以post
你可以在百度中搜索相应控件的post
一般要先用抓包工具得到post数据,再在程序中按样post
百度网友23bba7f0
2015-09-23 · TA获得超过4173个赞
知道小有建树答主
回答量:660
采纳率:85%
帮助的人:185万
展开全部
一、用Webbrowser
代码:Webbrowser.navigate ("http://xxx/1.htm?name=apple&id=001")
二、用Inet (注意数据接收方式是POST还是GET ,具体的方式是在1.htm的<form>...</form>中
代码:(post方式)
1、设定数据头:
strSendHeader = "POST /hotbuy/myhotbuy.php HTTP/1.1" & vbCrLf
strSendHeader = strSendHeader & "Content-Type: application/x-www-form-urlencoded " & vbCrLf
strSendHeader = strSendHeader & "Content-Length: " & iSendLength & vbCrLf
2、设定要发的数据:
strsenddata= "name=apple&id=001"
3、发送地址:
strsendadd="http://xxx/1.htm
3、发送数据:
Inet.execute strsendadd,"POST",strsenddata,strsendHead
Inet (Get方式) GET方式比POST简单的多
代码:
strsenddata = "http://xxx/1.htm?apple&id=001"
Inet.execute strsenddata,"GET"
三、用winsock
1、设定数据头:
strSendHeader = "POST /hotbuy/myhotbuy.php HTTP/1.1" & vbCrLf
strSendHeader = strSendHeader & "Content-Type: application/x-www-form-urlencoded " & vbCrLf
strSendHeader = strSendHeader & "Content-Length: " & iSendLength & vbCrLf
2、设定要发的数据:
strsenddata= "name=apple&id=001"
strSend = strSendHeader & vbCrLf & strSendData
3、发送地址:
strsendadd="http://xxx/1.htm
4、建立连接
Winsock.RemoteHost = "http:/xxx/"
Winsock.RemotePort = 80
Winsock.Protocol = sckTCPProtocol
winsock.connect
Winsock1.SendData strsend
Winsock.close

首先,要构造一个HTTP头,可详细了解下HTTP协议数据头结构。HTTP头是以空行结束的,即从数据开始到第一个空行之间的数据是HTTP数据头部。
这里,用POST提交数据,HTTP头部的下面三项是不可少的:

POST /vote.asp HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: www.***.cn

对于GET方式提交,则不需要Content-Type这项。每行以一个回车符和一个换行符结束,VB里就是 vbCrLf 。如果访问需要登陆的网页,则Cookies 这项是不可少的。
对于POST提交,通过抓包的数据可以看到,第一个空行之后(即HTTP数据头之后)还有其他内容,这里是
VoteOption=7&VoteType=Single&Action=Vote&ID=10
这就是提交的数据,HTTP头部有Content-Type: application/x-www-form-urlencoded 这项,服务器就会处理这些数据,数据格式和GET提交是一样的,即
名称2=值2&名称2=值2

要发送这样的数据,先构造一个HTTP头

dim str as string
str="POST /vote.asp HTTP/1.1" & vbCrLf
str=str & "Content-Type: application/x-www-form-urlencoded " & vbCrLf
str=str & "Host: www.***.cn" & vbCrLf
str=str & vbCrLf '这里加个空行
str=str & "VoteOption=7&VoteType=Single&Action=Vote&ID=10 "

然后用 Winsock控件发送这个字符串就行了。当然,先要和服务器建立连接,因为HTTP用的是TCP协议。
要更详细的内容,自己查下HTTP协议相关的资料。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式