首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Classic ASP中将数据发布到远程URL?

如何在Classic ASP中将数据发布到远程URL?
EN

Stack Overflow用户
提问于 2008-12-19 17:20:54
回答 8查看 35.2K关注 0票数 23

我需要将数据POST到脚本中间的url。

  1. 用户填写表单:
  2. Form submits to process.asp:I need to POST data to a第三方integration at this point.
  3. process.asp完成并引导用户转到感谢页。
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-12-19 18:17:18

我不知道为什么其他人都在发布ASP.Net解决方案,而你却明确表示你使用的是“经典”。

像这样的东西应该行得通。代码不是我写的,我是在别的地方找到的。但是,如果您不想购买商业产品,则需要使用MSXML2.ServerXMLHTTP对象。

代码语言:javascript
复制
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对象以查看是否存在问题,从而“捕获”它们。

祝好运!

票数 35
EN

Stack Overflow用户

发布于 2008-12-20 18:02:32

大多数表单操作页面接受数据作为POST。

代码语言:javascript
复制
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

代码语言:javascript
复制
Function URLEncodeComponent(value)
    URLEncodeComponent = Server.URLEncode(value)
    URLEncodeComponent = Replace(URLEncodeComponent, "/", "%2F")
End Function
票数 5
EN

Stack Overflow用户

发布于 2008-12-19 17:26:59

在.Net中是System.Net.WebClient或System.Net.HttpWebRequest。

传统的ASP有一个完全不同的api-我不确定你会用什么来代替它。

编辑

我怀疑如果经典的asp对此有任何内置的支持,那么它是在一个脚本对象中,比如:CreateObject("Scripting.????")

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/381596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档