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

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

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

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

Сообщение resident » 28.04.2015 23:13:52

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

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

При запросе сервер видит, что лазарусовская программа - не браузер (а synapse), и выдает сообщение о запрете. Браузер при этом страницы открывает.
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

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

Сообщение скалогрыз » 28.04.2015 23:49:13

Придёться использовать THTTPSend и выставлять желаемый сервером UserAgent.
это минимум.
Сервер так же может проверять reference в заголовоке HTTP запроса или даже какие-нибудь куки.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

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

Сообщение sign » 29.04.2015 07:34:56

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

Код: Выделить всё
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
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

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

Сообщение resident » 29.04.2015 20:35:24

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


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 233

Рейтинг@Mail.ru