我需要将数据POST
到脚本中间的url。
process.asp
:I need to POST
data to a第三方integration at this point.process.asp
完成并引导用户转到感谢页。发布于 2008-12-19 18:17:18
我不知道为什么其他人都在发布ASP.Net解决方案,而你却明确表示你使用的是“经典”。
像这样的东西应该行得通。代码不是我写的,我是在别的地方找到的。但是,如果您不想购买商业产品,则需要使用MSXML2.ServerXMLHTTP对象。
function getHTML (strUrl)
Set xmlHttp = Server.Createobject("MSXML2.ServerXMLHTTP")
xmlHttp.Open "GET", strUrl, False
xmlHttp.setRequestHeader "User-Agent", "asp httprequest"
xmlHttp.setRequestHeader "content-type", "application/x-www-form-urlencoded"
xmlHttp.Send
getHTML = xmlHttp.responseText
xmlHttp.abort()
set xmlHttp = Nothing
end function
您可能需要添加一些错误处理代码,以便在生产环境中使用。我相信,如果对象出现404或超时错误,它就会抛出错误。您需要在.Send之前设置On Error Resume Next,然后检查ASP对象以查看是否存在问题,从而“捕获”它们。
祝好运!
发布于 2008-12-20 18:02:32
大多数表单操作页面接受数据作为POST。
Function postFormData(url, data)
Dim xhr : Set xhr = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
xhr.open "POST", url, false
xhr.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xhr.send Data
If xhr.Status = 200 Then
postFormData = xhr.ResponseText
Else
Err.Raise 1001, "postFormData", "Post to " & url & " failed with " & xhr.Status
End If
End Function
创建数据url时,需要对数据值进行编码。由于ASPs Server.URLEncode方法只进行路径编码,而不进行组件编码,因此需要用%2F替换out / characters
Function URLEncodeComponent(value)
URLEncodeComponent = Server.URLEncode(value)
URLEncodeComponent = Replace(URLEncodeComponent, "/", "%2F")
End Function
发布于 2008-12-19 17:26:59
在.Net中是System.Net.WebClient或System.Net.HttpWebRequest。
传统的ASP有一个完全不同的api-我不确定你会用什么来代替它。
编辑
我怀疑如果经典的asp对此有任何内置的支持,那么它是在一个脚本对象中,比如:CreateObject("Scripting.????")
https://stackoverflow.com/questions/381596
复制相似问题