如何在经典asp(非.net)中使用POST数据创建HTTP请求?
答案 0 :(得分:18)
您可以尝试这样的事情:
Set ServerXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
ServerXmlHttp.open "POST", "http://www.example.com/page.asp"
ServerXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
ServerXmlHttp.setRequestHeader "Content-Length", Len(PostData)
ServerXmlHttp.send PostData
If ServerXmlHttp.status = 200 Then
TextResponse = ServerXmlHttp.responseText
XMLResponse = ServerXmlHttp.responseXML
StreamResponse = ServerXmlHttp.responseStream
Else
' Handle missing response or other errors here
End If
Set ServerXmlHttp = Nothing
其中PostData是您要发布的数据(例如,名称 - 值对,XML文档或其他)。
您需要设置正确的MSXML2.ServerXMLHTTP版本以匹配您安装的版本。
open方法有五个参数,其中只需要前两个参数:
ServerXmlHttp.open Method, URL, Async, User, Password
当调用返回时,status属性保持HTTP状态。值200表示正常 - 404表示未找到,500表示服务器错误等(有关其他值,请参阅http://en.wikipedia.org/wiki/List_of_HTTP_status_codes。)
您可以将文本(responseText属性),XML(responseXML属性)或流(responseStream属性)作为响应。
答案 1 :(得分:0)
您必须直接使用现有的xmlhttp服务器对象之一,或者您可以使用一个库,通过抽取低级别的东西来使生活更轻松。
检查提取网址的ajaxed implementation
缺点:您需要配置库才能使其正常工作。不确定这是否对您的项目是必要的。