VB6发送一个表单Post

VB6发送一个表单Post,vb6,form-post,Vb6,Form Post,以下是我正在使用的代码: Dim httpReq As New WinHttp.WinHttpRequest Dim strLineOut As String Dim strReturn As String Dim strStatus As String lblResponse1.Caption = "" DoEvents strLineOut = "<form name=""form1"" method=""post"" enctype=""multipart/form-data""&

以下是我正在使用的代码:

Dim httpReq As New WinHttp.WinHttpRequest
Dim strLineOut As String
Dim strReturn As String
Dim strStatus As String

lblResponse1.Caption = ""
DoEvents
strLineOut = "<form name=""form1"" method=""post"" enctype=""multipart/form-data"">" & vbCrLf
strLineOut = strLineOut & "  <input name=""hdntype"" type=""hidden"" id=""hnd1"" value=""1"">" & vbCrLf
strLineOut = strLineOut & "  <input name=""hnd1"" type=""hidden"" id=""hnd1"" value=""Value1"">" & vbCrLf
strLineOut = strLineOut & "  <input name=""hdn2"" type=""hidden"" id=""hdn2"" value=""Value2"">" & vbCrLf
strLineOut = strLineOut & "  <input type=""submit"" name=""Submit"" value=""Submit"">" & vbCrLf
strLineOut = strLineOut & "</form>" & vbCrLf

httpReq.Open "POST", "http://www.XXXX.com/XMLProjects/vb6test/form_post.asp", False
httpReq.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
'text/xml
'application/x-www-form-urlencoded
'httpReq.StatusText
'httpReq.Status
'httpReq.SetRequestHeader "Content-Length", Len(strLineOut)
httpReq.Send (strLineOut)
strStatus = httpReq.StatusText
strReturn = httpReq.ResponseText
Debug.Print strReturn & vbCrLf & strStatus
lblResponse1.Caption = strReturn & vbCrLf & strStatus
Set httpReq = Nothing
asp的响应是:

Response.Write Request.Form("hdntype") 
Response.Write "the form object is " & Request.Form.Item(1) & vbCrLf
the form object is "form1"method="post"enctype="multipart/form-data">
<inputname="hdntype"type="hidden"id="hnd1"value="1">
<inputname="hnd1"type="hidden"id="hnd1"value="Nick">
<inputname="hdn2"type="hidden"id="hdn2"value="Arnone">
<inputtype="submit"name="Submit"value="Submit"></form>
表单对象是“form1”method=“post”enctype=“multipart/form data”>
它看不到项目hdntype或表单中的任何其他项目。它看到一个项目,整个表单

如果我执行Request.TotalBytes,我可以看到asp中的所有内容。 如果添加查询字符串对象,则可以看到每个对象。
我看不到表单对象。

在VB6中,如果发送如下数据:

strIDJob = "34"
strAuthString = "supertest"

DataToPost = ""
DataToPost = DataToPost & "IDJob=" & strIDJob & "&"
DataToPost = DataToPost & "AUTH=" & strAuthString & "&"
(我使用CreateObject(“Msxml2.XMLHTTP.6.0”)组件将其发送到ASP页面)

(仅包含此标题的邮件发送:“application/x-www-form-urlencoded”)

然后,您可以使用下面的代码(在ASP中)逐个检索每个项目:

IDJob = Request.Form.Item(1)   'here is the core point of this post. This is the line that matters
AUTH = Request.Form.Item(2)   'here is the core point of this post. This is the line that matters

response.write "IDJob = " & IDJob & "<BR>"
response.write "AUTH = " & AUTH & "<BR>"
Response.End
IDJob=Request.Form.Item(1)”这是本文的核心内容。这条线才是最重要的
AUTH=Request.Form.Item(2)”这是本文的核心内容。这条线才是最重要的
response.write“IDJob=”&IDJob&“
” response.write“AUTH=”&AUTH&“
” 答复.完
asp中的此代码生成以下返回/输出:


IDJob=34
AUTH=supertest

您是否粘贴了与输出完全相同的响应?如图所示,它似乎完全缺少空格。它还缺少开头的
为什么要向服务器发送HTML?这不是一个表单帖子的工作原理。@Bob77-Ha。说得好。我太专注于查看响应,以至于我从来没有真正查看过请求。我不想在这个项目上使用XML。我想在服务器和客户所在地运行的程序之间交换信息。这有更好的办法吗?我乐于接受各种想法。程序需要评估服务器的每一个动作。我需要一个通讯系统,这是快速的服务器将访问SQL服务器和发送回的信息。由于字符限制,我不想使用XML。我正在研究的另一种方法是来回使用分隔文本文件。