我有以下代码可以创建xmlhttp类的服务器端对象。我正尝试连接到需要基本身份验证的站点。我能够得到这个与下面的代码一起工作。XmlHttp请求基本身份验证问题
有什么问题?那么我使用公开电话传递凭证。仅这一点是不够的。我还必须使用手动计算的base64编码用户名:密码组合来设置授权标头。如果我尝试设置标头而不将凭据传递给公开呼叫,则会失败。叫我疯了,但是当我将证书传递给公开的时候,这就是我应该做的。如果我设置标题,那就是我应该做的。对?做这两件事似乎是不对的。对?
这是一个错误还是一个小故障?
另外的背景是: IIS 5 & ASP经典 收到的错误时,这两个项目被省略的一个是HTTP状态401: “您无权查看此页 您没有权限查看此目录或页面使用您提供的凭据,因为您的Web浏览器正在发送Web服务器未配置为接受的WWW-Authenticate标头字段。“
由于IIS发出请求我不能用Fiddler检查它:-(
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlhttp.setTimeouts 5000, 5000, 10000, 10000 'ms - resolve, connect, send, receive
xmlhttp.open "GET", "http://example.com/", False, "username", "password"
xmlhttp.setRequestHeader "Authorization", "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
xmlhttp.send
您当然可以检查这样的请求与Fiddler。ServerXMLHTTP基于WinHTTP;请参阅http://www.fiddler2.com/fiddler/help/hookup.asp#Q-WinH TTP – EricLaw 2009-08-31 20:21:14
@Eric:尽管OP需要在IIS服务器上这样做,他可能会或可能没有权限执行此操作。 – AnthonyWJones 2009-09-01 08:41:51