Ошибка 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 и т. д.) вне браузера. См.эта дискуссия, эта дискуссия и документация.