Использование: Delphi 2010, последняя версия Indy
Я пытаюсь очистить данные с веб-страницы Googles AdSense, чтобы получить отчеты. Однако пока у меня ничего не получалось. Он останавливается после первого запроса и не продолжается.
Используя Fiddler для отладки трафика / запросов на веб-сайт Google AdSense и веб-браузер для загрузки страницы AdSense, я вижу, что запрос (из веб-браузера) генерирует количество перенаправлений до загрузки страницы.
Однако, мое приложение Delphi генерирует только пару запросов, прежде чем оно остановится.
Вот шаги, которые я выполнил:
Наконец, у меня есть этот код:
procedure TfmMain.GetUrlToFile(AURL, AFile : String);
var
Output : TMemoryStream;
begin
Output := TMemoryStream.Create;
try
IdHTTP1.Get(FURL, Output);
Output.SaveToFile(AFile);
finally
Output.Free;
end;
end;
Однако он не попадает на страницу входа, как ожидалось. Я ожидал, что он будет вести себя так, как если бы это был веб-браузер, и продолжал перенаправления, пока не нашел последнюю страницу.
Это результат заголовков из Fiddler:
HTTP / 1.1 302 Найдено
- Поместите компоненты IdHTTP и IdSSLIOHandlerSocketOpenSSL1 в форму.
- Установите для свойств компонента IdHTTP AllowCookies и HandleRedirects значение True, а для свойства IOHandler - значение IdSSLIOHandlerSocketOpenSSL1.
- Установите свойство IdSSLIOpenSSL1. 1219] Наконец, у меня есть этот код:
procedure TfmMain.GetUrlToFile(AURL, AFile : String); var Output : TMemoryStream; begin Output := TMemoryStream.Create; try IdHTTP1.Get(FURL, Output); Output.SaveToFile(AFile); finally Output.Free; end; end;
Однако он не попадает на страницу входа, как ожидалось. Я ожидал, что он будет вести себя так, как если бы это был веб-браузер, и продолжал перенаправления, пока не нашел последнюю страницу.
Это результат заголовков из Fiddler:
HTTP / 1.1 302 Найдено
- Поместите компоненты IdHTTP и IdSSLIOHandlerSocketOpenSSL1 в форму.
- Установите для свойств компонента IdHTTP AllowCookies и HandleRedirects значение True, а для свойства IOHandler - значение IdSSLIOHandlerSocketOpenSSL1.
- Установите свойство IdSSLIOpenSSL1. 1219] Наконец, у меня есть этот код:
procedure TfmMain.GetUrlToFile(AURL, AFile : String); var Output : TMemoryStream; begin Output := TMemoryStream.Create; try IdHTTP1.Get(FURL, Output); Output.SaveToFile(AFile); finally Output.Free; end; end;
Однако он не попадает на страницу входа, как ожидалось. Я ожидал, что он будет вести себя так, как если бы это был веб-браузер, и продолжал перенаправления, пока не нашел последнюю страницу.
Это результат заголовков из Fiddler:
HTTP / 1.1 302 Найдено sslvSSLv23 'Наконец, у меня есть этот код:
procedure TfmMain.GetUrlToFile(AURL, AFile : String); var Output : TMemoryStream; begin Output := TMemoryStream.Create; try IdHTTP1.Get(FURL, Output); Output.SaveToFile(AFile); finally Output.Free; end; end;
Однако он не попадает на страницу входа, как ожидалось. Я ожидал, что он будет вести себя так, как если бы это был веб-браузер, и продолжал перенаправления, пока не нашел последнюю страницу.
Это результат заголовков из Fiddler:
HTTP / 1.1 302 Найдено sslvSSLv23 'Наконец, у меня есть этот код:
procedure TfmMain.GetUrlToFile(AURL, AFile : String); var Output : TMemoryStream; begin Output := TMemoryStream.Create; try IdHTTP1.Get(FURL, Output); Output.SaveToFile(AFile); finally Output.Free; end; end;
Однако он не попадает на страницу входа, как ожидалось. Я ожидал, что он будет вести себя так, как если бы это был веб-браузер, и продолжал перенаправления, пока не нашел последнюю страницу.
Это результат заголовков из Fiddler:
HTTP / 1.1 302 Найдено Расположение: https://encrypted.google.com/ Cache-Control: частный Тип содержимого: текст / html; charset = UTF-8 Set-Cookie: PREF = ID = 5166063f01b64b03: FF = 0: TM = 1293571783: LM = 1293571783: S = a5OtsOqxu_GiV3d6; expires = Thu, 27-Dec-2012 21:29:43 GMT; путь = /; domain = .google.com Set-Cookie: NID = 42 = XFUwZdkyF0TJKmoJjqoGgYNtGyOz-Irvz7ivao2z0 - pCBKPpAvCGUeaa5GXLneP41wlpse-yU5UuC57pBfMkv434t7XB1H68EnZ; expires = среда, 29 июня 2011 г., 21:29:43 GMT; путь = /; домен = .google.com; HttpOnly Дата: Вт, 28 декабря 2010 г., 21:29:43 GMT Сервер: gws Длина содержимого: 226 X-XSS-Protection: 1; режим = блокВо-первых, что-то не так с этим выводом?
Что я должен сделать, чтобы компонент IdHTTP продолжал выполнять перенаправления до последней страницы?