【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 展开
易语言可以用精易模块的网页_访问 轻松做到
vb该怎么做?
比如一个网站:【123.com/login.asp】
登陆要提交【u=admin&p=123123】
用vb应该怎么写?
给个实例就好 或者给个方法.....给个教程是最好的了....
【你们也可以让我做一次伸手党 直接帮我做好也行的哦...】
给实例最好带上注释= =QAQ 展开
2个回答
2014-07-14
展开全部
展开全部
一、用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协议相关的资料。
代码: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协议相关的资料。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询