VB POST 提交抓的包方法。
VB POST 提交抓的包方法。
请大家请供一下方法,
Dim strURL As String, strFormData As String
'下面是抓包内容
SentInfo = "-----------------------------7dc10d8166021c" & vbCrLf & vbCrLf & _
"Content-Disposition: form-data; name=" & Chr(34) & "mode" & Chr(34) & vbCrLf & vbCrLf & _
"1" & vbCrLf & vbCrLf & _
"-----------------------------7dc10d8166021c" & vbCrLf & vbCrLf & _
"Content-Disposition: form-data; name=" & Chr(34) & "url" & Chr(34) & vbCrLf & vbCrLf & _
"." & vbCrLf & vbCrLf & _
"-----------------------------7dc10d8166021c" & vbCrLf & vbCrLf & _
"Content-Disposition: form-data; name=" & Chr(34) & "lang" & Chr(34) & vbCrLf & vbCrLf & _
"utf-8" & vbCrLf & vbCrLf & _
"-----------------------------7dc10d8166021c" & vbCrLf & vbCrLf & _
"Content-Disposition: form-data; name=" & Chr(34) & "wr" & Chr(34) & vbCrLf & vbCrLf & _
"-----------------------------7dc10d8166021c" & vbCrLf & vbCrLf & _
"Content-Disposition: form-data; name=" & Chr(34) & "upfile" & Chr(34) & "; FileName = " & Chr(34) & "any_name.php" & Chr(34) & "" & vbCrLf & vbCrLf & _
"Content-Type: image/gif" & vbCrLf & vbCrLf & _
"GIF89a" & vbCrLf & vbCrLf & _
"-----------------------------7dc10d8166021c" & vbCrLf & vbCrLf & _
"Content-Disposition: form-data; name=" & Chr(34) & "link" & Chr(34) & vbCrLf & vbCrLf & _
"-----------------------------7dc10d8166021c" & vbCrLf & vbCrLf & _
"Content-Disposition: form-data; name=" & Chr(34) & "imgsize" & Chr(34) & vbCrLf & vbCrLf & _
"-----------------------------7dc10d8166021c" & vbCrLf & vbCrLf & _
"Content-Disposition: form-data; name=" & Chr(34) & "alignment" & Chr(34) & vbCrLf & vbCrLf & _
"-----------------------------7dc10d8166021c--" & vbCrLf
’结束
strURL = "http://xxxx.com/Editor/upok.php" '提交的页面
strFormData = SentInfo '提交的数据
Inet1.Execute strURL, "Post", strFormData, "Accept: */*" & vbCrLf & _
"Referer:http://xxxx.com/Editor/up.php?lang=utf-8" & vbCrLf & _
"Accept-Language:zh-cn" & vbCrLf & _
"User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)" & vbCrLf & _
"Content-Type: multipart/form-data; boundary=---------------------------7dc10d8166021c" & vbCrLf & _
"Accept-Encoding: gzip, deflate" & vbCrLf & _
"Connection: Keep-Alive" & vbCrLf _
& "Content-Length: " & Len(strFormData) & vbCrLf _
Do Until Inet1.StillExecuting = False '等待数据加载完成
DoEvents
Loop
这个提交了,返回来的信息是有问是, up.php 页头没构造进去。不知道是什么原因;那位大侠指定一下
返回来的包内容
下面这个是正确的,手工上传抓到的返回包。
HTTP/1.1 200 OK
Date: Sat, 28 Apr 2012 21:45:40 GMT
Server: Apache/2.2.11 (Fedora)
X-Powered-By: PHP/5.2.13
Content-Length: 463
Connection: close
Content-Type: text/html; charset=utf-8
<script src='./languages/utf-8/java.lang.js'></script><script language='javascript'>
<!--
var val;
val = '文件地址/名.php';
parent.insertHtml(val);
//-->
</script>
</BODY></HTML>
'这个是VB提交的包返回结果。
HTTP/1.1 200 OK
Date: Sat, 28 Apr 2012 21:45:40 GMT
Server: Apache/2.2.11 (Fedora)
X-Powered-By: PHP/5.2.13
Content-Length: 463
Connection: close
Content-Type: text/html; charset= ‘少了编码。怀疑是没包发出去,还是构造这个页头不成了,不明白了
<script src='./languages/这里也是少了编码/java.lang.js'></script><script language='javascript'>
<!--
var val;
val = '';
parent.insertHtml(val);
//-->
</script>
</BODY></HTML>