永发信息网

【VB】vb如何post提交

答案:2  悬赏:40  手机版
解决时间 2021-01-18 22:35
【VB】vb如何post提交
最佳答案
一、用Webbrowser
代码:Webbrowser.navigate ("http://xxx/1.htm?name=apple&id=001")
二、用Inet (注意数据接收方式是POST还是GET ,具体的方式是在1.htm的中
代码:(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协议相关的资料。
全部回答
vb的inet、webbrowser、winsock控件都可以post
你可以在百度中搜索相应控件的post
一般要先用抓包工具得到post数据,再在程序中按样post
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求《专为中国人写的记忆书》电子书PDF文档的
请问勾为0.7米股为1.2米弦长是多少?
490柴机换曲轴有那些注意事项我想自己修,以
用网银直接向北京建行燃气卡转账,可以买到燃
赞皇到高邑多少公里
oppoa35系统内存多大
足彩比分,主队前有黄1还有红3是咋回事
现在开个2元店还有前途吗
笔算一位数乘多位数时,从________位乘起.
单选题下列溶液中,跟100mL?0.5mol/L?NaCl溶
开个洗浴中心要多少钱?需要具备哪些条件?
九龙汽车质量怎么样
拉面培训学校能学出真本事吗
pycharm中安装pyplot报错了,不知道如何解决
为林冲写一段颁奖词70字
推荐资讯
有没有加工过袜子的
如图,正方形的边长是25厘米,阴影部分的面积
要想充分发挥windows的特性,应使用什么文件
一个基字下面一个系字
罗汉怎么喂养呀?
一百克黄芪含多少善食仟维
玩不了龙头RPG,RGSS3 Player 已停止工作。
怀柔星期几可以办健康证
为什么很多研究易经的人不建议占卜?
从广州站到中山市怎么走?交通工具
丹江口市十堰中国移动(蒿坪营业厅)怎么去啊,
爱于被爱哪个更重要,辩论赛我是反方,求几个
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?