Скачивать веб-страницы прикинувшись браузером

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
resident
энтузиаст
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Скачивать веб-страницы прикинувшись браузером

Сообщение resident »

Здравствуйте!

Можно ли как-то прикинуться браузером при скачивании веб-страниц?
Использую библиотеку synapse, там функцию HttpGetText из модуля HTTPSend.

При запросе сервер видит, что лазарусовская программа - не браузер (а synapse), и выдает сообщение о запрете. Браузер при этом страницы открывает.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Придёться использовать THTTPSend и выставлять желаемый сервером UserAgent.
это минимум.
Сервер так же может проверять reference в заголовоке HTTP запроса или даже какие-нибудь куки.
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

Я вот так "прикидываюсь":

Код: Выделить всё

var
  MyHTTPSend: THTTPSend = nil;
...
procedure TfCTO.LoadHttpCTO;
var D: THttpData;
begin
  if not Assigned(MyHTTPSend) then MyHTTPSend := THTTPSend.Create;
  D.LoginData := 'Username=хххх&Password=хххххх&id=1&pincode=1111';
  D.UserAgent := 'Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0';
  D.TargetHost := TargetHost;
  if D.Post(MyHTTPSend, ldRefererCTO + 'login_post.asp') then
resident
энтузиаст
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Сообщение resident »

Спасиб, работает )
Ответить