MSXML2.ServerXMLHTTP在ASP中调用

时间:2011-12-07 00:29:26

标签: asp-classic vbscript

我正在使用Confident Technologies Image Captcha,并且在他们的技术中我需要发布到他们的服务器,然后它将传回HTML代码。请参阅:https://login.confidenttechnologies.com/docs/restful

我为此制作了一个VBScript,但我可以得到我需要的结果。功能是:

FUNCTION CreateSecurity()
  Dim nURL : nURL = "http://captcha.confidenttechnologies.com/captcha"
  Dim SendStr : SendStr =     "api_username=jqcsgvsi47g9BEgncu2Mb9pINE4W5tEYNPIwMHFR&api_password=pHm5IDZhLiaeY8raDStdEyoRiBeqoTSMDeFxkWcM&customer_id=K9PWSU6s&site_id=storeboard"
  Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
  xmlhttp.open "POST", nURL, false
  xmlhttp.setRequestHeader "Content-Type", "application x-www-form-urlencoded"
  xmlhttp.send(SendStr)
  Response.write xmlhttp.responseText
  Set xmlhttp = nothing
END FUNCTION

我只是在我希望捕获出现的地方调用此函数。但是,当我调用该函数时,我得到以下结果:

  

错误请求

     

site_id可能不是空白。

     

api_password可能不是空白。

     

api_username不能为空。

     

customer_id可能不是空白。

请参阅结果:http://www.storeboard.com/join_now_new.asp

有谁知道我做错了什么?

任何帮助都会得到真正的赞赏。

非常感谢, 保罗

1 个答案:

答案 0 :(得分:3)

两个建议:

1)我找到了this article,其结果是将您的内容类型标题更改为xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

2)使用Fiddler分析请求并确保发送标题和表单数据。

祝你好运