我正在尝试使用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;
我真的不知道我做错了什么:(
答案 0 :(得分:5)
Google会执行基于位置的重定向,有时会涉及重定向到其他域。 XMLHTTP
不喜欢这样。此外,当从浏览器外部的本地脚本(例如来自VB,Delphi等)运行时,似乎XMLHTTP
不允许访问远程服务器。请参阅this discussion,this discussion和this documentation。