Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Парсинг капчи + WinInet [D7, XP]


SBvafla ©   (2010-09-13 23:04:00) 

Добрый день, вот функция с помощью которой получаю страничку из интернет -

NetHandle := InternetOpen(AName, CERN_PROXY_INTERNET_ACCESS, Pr, nil, 0);
IF Assigned(NetHandle) then
 Begin
  UrlHandle := InternetOpenUrl(NetHandle, AUrl, nil, 0, INTERNET_FLAG_RELOAD, 0);
  IF Assigned(UrlHandle) then
   Begin
    FillChar(Buffer, SizeOf(Buffer), 0);
    repeat
     hContent := hContent + Buffer;
     FillChar(Buffer, SizeOf(Buffer), 0);
     InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead);
    until
     BytesRead = 0;
    //Тут потрошу данный со странички
    ....  
   end;
  Else
   Msg[1];
   InternetCloseHandle(UrlHandle);
 end
Else
 Mesg[2];
InternetCloseHandle(NetHandle);

Как дополнить эту функцию, чтобы не разрывая сессию получить капчу?(ссылку на которую
я получил со странички)

т.е.

   BytesRead = 0;
    //Тут потрошу данный со странички

далее я так понимаю надо сменить урл и скачать файл -
  InternetCloseHandle(UrlHandle);
  UrlHandle := InternetOpenUrl(NetHandle, NEWUrl, nil, 0, INTERNET_FLAG_RELOAD, 0);
  AssignFile(AFile, 'C:\test.jpg');
  Rewrite(AFile,1);
   repeat
    InternetReadFile(UrlHandle, @FBu


antonn   (2010-09-17 22:54:00) [1]

заголовки нужно отправлять, что получил после скачанной страницы, больше сессию хранить негде


Rouse_   (2010-09-17 22:29:00) [2]

работай через HttpSendRequest() MSDN под рукой нет - но там по описанию все понятно


sniknik   (2010-09-17 21:11:00) [3]

> Хм... А это так важно?
вопрос жизни и смерти... :) в новой сессии будет новая капча.


_L_   (2010-09-17 19:01:00) [4]

Извините, а в чём сам вопрос-то?
Функция с помощью которой вы получаете страничку из интернета работает?
Или вопрос в том как сам парсинг делать?

> не разрывая сессию

Хм... А это так важно?


Anatoly Podgoretsky   (2010-09-14 09:44:00) [5]

> SBvafla  (13.09.2010 23:11:01)  [1]

Чему равно NEWUrl, какая ошибка возникает.


SBvafla   (2010-09-13 23:11:00) [6]

InternetReadFile(UrlHandle, @FBuffer, SizeOf(FBuffer), BufferLen);
    BlockWrite(AFile, FBuffer, BufferLen)
   until
    BufferLen = 0;
   CloseFile(AFile);
...
Но не получается...
Подскажите пожалуста, - как?
сорри сглючило не все скопировал - вот продолжение


Наверх

Титульная страница Поиск, карта сайта Написать письмо