Ошибка XMLHTTP и "отказано в доступе"
Я пытаюсь получить содержимое HTTP-документа с помощью MS XMLHTTP COM. Я скопировал следующий пример кода, но даже это не работает и не работает с ошибка 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;
Я действительно не знаю, что я делаю не так :(
1 ответов
Google выполняет перенаправление на основе местоположения, а иногда и перенаправление на другой домен. XMLHTTP
не нравится. Кроме того, кажется XMLHTTP
не разрешает доступ к удаленным серверам при запуске из локального скрипта (например, из VB, Delphi и т. д.) вне браузера. См.эта дискуссия, эта дискуссия и документация.