Использование: Delphi 2010, последняя версия Indy
Я пытаюсь очистить данные с веб-страницы Googles Adsense с целью получения отчетов. Однако до сих пор у меня не получилось. Он останавливается после первого запроса и не продолжается.
Используя Fiddler для отладки трафика / запросов к веб-сайту Google Adsense и веб-браузер для загрузки страницы Adsense, я вижу, что запрос (из веб-браузера) генерирует количество перенаправлений до загрузки страницы.
Однако мое приложение Delphi генерирует только пару запросов, прежде чем оно остановится.
Вот шаги, которые я выполнил:
- Удалите IdHTTP и компонент IdSSLIOHandlerSocketOpenSSL1 в форме.
- Установите для свойств компонента IdHTTP AllowCookies и HandleRedirects значение True, а для свойства IOHandler значение IdSSLIOHandlerSocketOpenSSL1.
- Установка свойства компонента IdSSLIOHandlerSocketOpenSSL1. Метод: = '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 Found
Location: https://encrypted.google.com/
Cache-Control: private
Content-Type: text/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; path=/; domain=.google.com
Set-Cookie: NID=42=XFUwZdkyF0TJKmoJjqoGgYNtGyOz-Irvz7ivao2z0--pCBKPpAvCGUeaa5GXLneP41wlpse-yU5UuC57pBfMkv434t7XB1H68ET0ZgVDNEPNmIVEQRVj7AA1Lnvv2Aez; expires=Wed, 29-Jun-2011 21:29:43 GMT; path=/; domain=.google.com; HttpOnly
Date: Tue, 28 Dec 2010 21:29:43 GMT
Server: gws
Content-Length: 226
X-XSS-Protection: 1; mode=block
Во-первых, что-то не так с этим выводом?
Есть ли что-то еще, что я должен сделать, чтобы компонент IdHTTP продолжал перенаправлять до последней страницы?