Vb6 为什么服务器不接收多部分/表单数据post数据

Vb6 为什么服务器不接收多部分/表单数据post数据,vb6,multipartform-data,winhttprequest,Vb6,Multipartform Data,Winhttprequest,我一直在尝试使用多部分/表单数据将数据发布到服务器,但是服务器似乎没有接收到任何内容 VB代码 ' create a boundary consisting of a random string strBoundary = RandomAlphaNumString(32) strBody = "--" & strBoundary & vbCrLf strBody = strBody & "Content-Disposition: form-data; name=""te

我一直在尝试使用多部分/表单数据将数据发布到服务器,但是服务器似乎没有接收到任何内容

VB代码

' create a boundary consisting of a random string
strBoundary = RandomAlphaNumString(32)

strBody = "--" & strBoundary & vbCrLf
strBody = strBody & "Content-Disposition: form-data; name=""test1""" & vbCrLf & vbCrLf & STRING
strBody = strBody & vbCrLf & "--" & strBoundary & vbCrLf
strBody = strBody & "Content-Disposition: form-data; name=""data""" & vbCrLf & vbCrLf & data
strBody = strBody & vbCrLf & "--" & strBoundary & vbCrLf
strBody = strBody & "Content-Disposition: form-data; name=""data2""" & vbCrLf & vbCrLf & data2
strBody = strBody & vbCrLf & "--" & strBoundary & vbCrLf
strBody = strBody & "Content-Disposition: form-data; name=""data3""" & vbCrLf & vbCrLf & data3
strBody = strBody & vbCrLf & "--" & strBoundary & "--" 

' Content-Length
sHttpLength = Len(strBody)

Set WinHttpReq = New WinHttpRequest
strURL = "https://" & HOST & URL ' directed to test.php

 hostHeader = HOST & vbCrLf
contentTypeHeader = "multipart/form-data; boundary=" & strBoundary & vbCrLf
contentLengthHeader = sHttpLength & vbCrLf & vbCrLf

     WinHttpReq.Open "POST", strURL, False 'Open a Http connection
     WinHttpReq.SetRequestHeader "HOST", hostHeader
     WinHttpReq.SetRequestHeader "Content-Type", contentTypeHeader
     WinHttpReq.SetRequestHeader "Content-Length", contentLengthHeader

WinHttpReq.Send strBody ' Send Post messages
服务器在将数据发送回vb应用程序时接收到请求,但它无法识别已发布的数据对

e、 g

这将返回“”以显示未正确接收数据

有什么我看不到的重大缺陷吗


任何建议都很好。

事实证明,如果不在内容类型头中指定字符集,它会在头的末尾自动分配UTF-8。这将导致发布的消息无法工作!解决方案在边界之前手动输入字符集。现在它可以正常工作了……当你继续检查边界时,很难发现错误

例如

$postedVal = isset($_POST["test1"]) ? $_POST["test1"] : '';
contentTypeHeader = "multipart/form-data;Charset=UTF-8; boundary=" & strBoundary & vbCrLf