如何在ASP中执行HTTP POST请求?

如何在ASP中执行HTTP POST请求?,http,post,asp-classic,httprequest,Http,Post,Asp Classic,Httprequest,如何使用经典asp(而非.net)中的POST数据创建HTTP请求?您可以尝试以下方法: Set ServerXmlHttp=Server.CreateObject(“MSXML2.ServerXmlHttp.6.0”) ServerXmlHttp.open“POST”http://www.example.com/page.asp" ServerXmlHttp.setRequestHeader“内容类型”、“应用程序/x-www-form-urlencoded” ServerXmlHttp.se

如何使用经典asp(而非.net)中的POST数据创建HTTP请求?

您可以尝试以下方法:

Set ServerXmlHttp=Server.CreateObject(“MSXML2.ServerXmlHttp.6.0”)
ServerXmlHttp.open“POST”http://www.example.com/page.asp"
ServerXmlHttp.setRequestHeader“内容类型”、“应用程序/x-www-form-urlencoded”
ServerXmlHttp.setRequestHeader“内容长度”,Len(PostData)
ServerXmlHttp.send PostData
如果ServerXmlHttp.status=200,则
TextResponse=ServerXmlHttp.responseText
XMLResponse=ServerXmlHttp.responseXML
StreamResponse=ServerXmlHttp.responseStream
其他的
'在此处处理缺少响应或其他错误
如果结束
设置ServerXmlHttp=Nothing
其中PostData是要发布的数据(例如名称-值对、XML文档或其他)


您需要设置MSXML2.ServerXMLHTTP的正确版本,以匹配您所安装的内容

open方法有五个参数,其中只需要前两个:

ServerXmlHttp.open Method, URL, Async, User, Password
  • 方法:“获取”或“发布”
  • URL:要发布到的URL
  • 异步:默认值为False(调用不会立即返回)-对于异步调用,设置为True
  • 用户:身份验证所需的用户名
  • 密码:身份验证所需的密码
当调用返回时,status属性保存HTTP状态。值200表示正常-404表示找不到,500表示服务器错误等(其他值请参阅)


您可以以文本(responseText属性)、XML(responseXML属性)或流(responseStream属性)的形式获取响应。

您必须直接使用现有的xmlhttp服务器对象之一,或者您可以使用一个库,通过将低级内容抽象出来,使生活更加轻松

获取URL的检查


缺点:需要配置库才能使其正常工作。不确定这对您的项目是否有必要

“您需要设置MSXML2.ServerXMLHTTP的正确版本以匹配您所安装的内容。”或者只需使用MSXML2.ServerXMLHTTP.3.0,它始终存在于当前支持的所有平台上。