如何通过webbrowser1的
Content-Type: multipart/form-data; 方式向网页POST数据
POST数据分
application/x-www-form-urlencoded
和
Content-Type: multipart/form-data
两种方式
application/x-www-form-urlencoded方式本人巳经知道了
现在我想要知道multipart/form-data方式,有谁能帮我写一个实例吗?
下面是我的实现方法,不过POST后那个vbCrLf变成了A了,谁帮我改正一下啊,一定加分
sub command1_click()
postDataStr = ""
HeadersStr = "Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/QVOD, application/QVOD, */*" & vbCrLf
HeadersStr = HeadersStr & "Accept-Language: zh-cn" & vbCrLf
HeadersStr = HeadersStr & "Content-Type: multipart/form-data; boundary=---------------------------7d9257d1bd04ba"
HeadersStr = HeadersStr & "Accept-Encoding: gzip, deflate" & vbCrLf
HeadersStr = HeadersStr & "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
postDataStr = "-----------------------------7d93d8646045e" & vbCrLf
postDataStr = postDataStr & "Content-Disposition: form-data; name=""action""" & vbCrLf & vbCrLf
postDataStr = postDataStr & "publish/publishAction" & vbCrLf
postDataStr = postDataStr & "-----------------------------7d93d8646045e" & vbCrLf
postDataStr = postDataStr & "Content-Disposition: form-data; name=""_fma.pu._0.r""" & vbCrLf & vbCrLf
postDataStr = postDataStr & "55" & vbCrLf
postDataStr = postDataStr & "-----------------------------7d93d8646045e--"
Dim aByte() As Byte
PackBytes aByte(), URLEncode(postDataStr)
WebBrowser1.Navigate "http://sell.taobao.com/auction/publish/publish.htm", 0, "", aByte, HeadersStr
END SUB Private Sub PackBytes(ByRef ByteArray() As Byte, ByVal PostData As String)
Dim iNewBytes As Long, mPostData As String
mPostData = PostData
iNewBytes = Len(mPostData) - 1 ' Get rid of the null termination
If iNewBytes < 0 Then
Exit Sub
End If
ReDim ByteArray(iNewBytes)
For i = 0 To iNewBytes
ch = Mid(mPostData, i + 1, 1)
If ch = Space(1) Then
ch = "+"
End If 'Debug.Print ch, Asc(ch)
ByteArray(i) = Asc(ch)
Next
End Sub
上面代码是我的方法,不过,POST后那个vbCrLf 变为A了
它是通过PackBytes将 Space(1)转为 + 号
谁能说一下将vbCrLf变为什么 我现在编一个程序,只能用webbrowser1控件POST才行,所以没办法 请大家用 webbrowser1控件来实现
Content-Type: multipart/form-data; 方式向网页POST数据
POST数据分
application/x-www-form-urlencoded
和
Content-Type: multipart/form-data
两种方式
application/x-www-form-urlencoded方式本人巳经知道了
现在我想要知道multipart/form-data方式,有谁能帮我写一个实例吗?
下面是我的实现方法,不过POST后那个vbCrLf变成了A了,谁帮我改正一下啊,一定加分
sub command1_click()
postDataStr = ""
HeadersStr = "Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/QVOD, application/QVOD, */*" & vbCrLf
HeadersStr = HeadersStr & "Accept-Language: zh-cn" & vbCrLf
HeadersStr = HeadersStr & "Content-Type: multipart/form-data; boundary=---------------------------7d9257d1bd04ba"
HeadersStr = HeadersStr & "Accept-Encoding: gzip, deflate" & vbCrLf
HeadersStr = HeadersStr & "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
postDataStr = "-----------------------------7d93d8646045e" & vbCrLf
postDataStr = postDataStr & "Content-Disposition: form-data; name=""action""" & vbCrLf & vbCrLf
postDataStr = postDataStr & "publish/publishAction" & vbCrLf
postDataStr = postDataStr & "-----------------------------7d93d8646045e" & vbCrLf
postDataStr = postDataStr & "Content-Disposition: form-data; name=""_fma.pu._0.r""" & vbCrLf & vbCrLf
postDataStr = postDataStr & "55" & vbCrLf
postDataStr = postDataStr & "-----------------------------7d93d8646045e--"
Dim aByte() As Byte
PackBytes aByte(), URLEncode(postDataStr)
WebBrowser1.Navigate "http://sell.taobao.com/auction/publish/publish.htm", 0, "", aByte, HeadersStr
END SUB Private Sub PackBytes(ByRef ByteArray() As Byte, ByVal PostData As String)
Dim iNewBytes As Long, mPostData As String
mPostData = PostData
iNewBytes = Len(mPostData) - 1 ' Get rid of the null termination
If iNewBytes < 0 Then
Exit Sub
End If
ReDim ByteArray(iNewBytes)
For i = 0 To iNewBytes
ch = Mid(mPostData, i + 1, 1)
If ch = Space(1) Then
ch = "+"
End If 'Debug.Print ch, Asc(ch)
ByteArray(i) = Asc(ch)
Next
End Sub
上面代码是我的方法,不过,POST后那个vbCrLf 变为A了
它是通过PackBytes将 Space(1)转为 + 号
谁能说一下将vbCrLf变为什么 我现在编一个程序,只能用webbrowser1控件POST才行,所以没办法 请大家用 webbrowser1控件来实现
解决方案 »
- 如果连接oracle数据源?
- richtextBox 调用文本文件,右边如何对齐
- 请问那里有vsprint7.0的注册版本下载啊?
- 请问各位高手:为什么在Win2000下能够与数据库连接而在Win98下面不行呢?急,在线等!
- 只有5分的问题,有人肯解答吗?(我现在只有8分,我不敢全部放去,我怕没分了问不了问题)
- DX中怎么获得D3DX 的DrawText字体的宽度和高度?
- 怎样使用MERGE这个函数!?
- ado和odbc的问题.
- 谁能帮我详细分析一下,下面的函数?
- 怎么才能使 系统的时间 不走了呢?
- 【大散分】拍案惊奇:29年,整整29年!去年的今天...
- Windows 7下ActiveX控件注册问题
人脑潜能开发,潜能开发音乐下载 www.qn21.com
-------------------------------------------------------------------------------------
催眠音乐mp3下载,潜意识音乐, 潜能21网 www.qn21.com