【问题标题】:XMLHTTP and "Access denied" errorXMLHTTP 和“拒绝访问”错误
【发布时间】:2012-01-30 07:02:24
【问题描述】:

我正在尝试使用 MS XMLHTTP COM 检索 HTTP 文档的内容。我确实复制了以下示例代码,但即使这样也不起作用,并且在发送方法调用时因 EOLEException 错误“访问被拒绝”而失败

uses
  MSXML, ComObj, ActiveX;

procedure TForm1.Button1Click(Sender: TObject);
var
  httpDoc: XMLHTTP;  // IXMLHTTPRequest
begin
    httpDoc := CreateOleObject('MSXML2.XMLHTTP') as XMLHTTP;
  try
    httpDoc.open('GET', 'http://www.google.com/index.html', False, EmptyParam, EmptyParam);
    httpDoc.send('');  // <-- EOLEException 'Access is denied'
    if (httpDoc.readyState = 4) and (httpDoc.status = 200) then
      ShowMessage(httpDoc.responseText);
  finally
    httpDoc := nil;
  end;
end;

我真的不知道我做错了什么:(

【问题讨论】:

  • 还要检查send是否真的允许空字符串参数而不是规范的null

标签: delphi xmlhttprequest msxml


【解决方案1】:

Google 会进行基于位置的重定向,有时这涉及重定向到另一个域。 XMLHTTP 不喜欢那样。此外,似乎XMLHTTP 在从浏览器外部的本地脚本(例如从 VB、Delphi 等)运行时不允许访问远程服务器。请参阅this discussionthis discussionthis documentation

【讨论】:

猜你喜欢
  • 2010-11-20
  • 2014-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 2012-12-21
  • 2012-11-08
  • 2014-12-05
相关资源
最近更新 更多