通过HTTP请求Post发送Post数据

通过HTTP请求Post发送Post数据,post,asp-classic,Post,Asp Classic,我试图将数据从Textarea发布到一个经典的ASP脚本,该脚本更新本地机器上的MS SQL,然后发布到另一台服务器上的PHP脚本。但是,执行以下操作不起作用,因为它将切断textarea的数据。对于HTML和其他数据,它有特殊的字符 所以我的问题是,如何使用ASP Classic将这些数据传递给帖子 我已经搜索了一整天,希望有人能启发我,谢谢 strUrl = "http://www.example.com/index.php" requestData = request("r

我试图将数据从Textarea发布到一个经典的ASP脚本,该脚本更新本地机器上的MS SQL,然后发布到另一台服务器上的PHP脚本。但是,执行以下操作不起作用,因为它将切断textarea的数据。对于HTML和其他数据,它有特殊的字符

所以我的问题是,如何使用ASP Classic将这些数据传递给帖子

我已经搜索了一整天,希望有人能启发我,谢谢

    strUrl = "http://www.example.com/index.php"
    requestData = request("request")
    requestData2 = request("request2")

    strData = "request=" & requestData & "&request2=" & requestData2

    postHTML (strUrl, strData)

function postHTML (strUrl, strData)
    Set xmlHttp = Server.Createobject("MSXML2.ServerXMLHTTP")
    xmlHttp.Open "POST", strUrl, False
    xmlHttp.setRequestHeader "User-Agent", "asp httprequest"
    xmlHttp.setRequestHeader "content-type", "application/x-www-form-urlencoded"
    xmlHttp.Send strData
    postHTML = xmlHttp.responseText
    xmlHttp.abort()
    set xmlHttp = Nothing   
end function
例如,如果requestdata2中有一个
&
,则该
&
之后的任何内容都会被截断,因为它认为它正在启动一个新字符串。但我想把这个传下去


目前我能想到的唯一解决方案是:对特殊字符(如
=
&
)进行字符串替换,然后在php服务器上用另一个字符串替换来恢复它们。然而,这不是我想要完成的任务。我想要发送帖子的正确方式。

您需要对参数值进行URL编码,所以请更改此行

strData = "request=" & requestData & "&request2=" & requestData2 
…到

strData = "request=" & Server.UrlEncode(requestData) & "&request2=" & Server.UrlEncode(requestData2)

接收服务器应自动解码这些值。

非常感谢您的回答。我将测试这一点,并给予信贷尽快。