Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2014, 13:19   #1
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию [Synapse] Проблема с получением каптчи

Получаю каптчу вот так:

Код:
http.HTTPMetod('GET', 'url');
http.Document.SaveToFile('cathca.jpg');
Каптча вроде как загружается, но открыть её не получается, в чем может быть проблема?
UKRtortik вне форума Ответить с цитированием
Старый 13.03.2014, 13:26   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

А может там не капча?
где проверки на правильный ответ сервера? Вы уверены что там jpg?
Человек_Борща вне форума Ответить с цитированием
Старый 13.03.2014, 13:34   #3
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
А может там не капча?
где проверки на правильный ответ сервера? Вы уверены что там jpg?
Вот пример каптчи
UKRtortik вне форума Ответить с цитированием
Старый 13.03.2014, 13:53   #4
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

Код:
FS:=TFileStream.Create('captcha.jpeg',FMCreate);
HTTP.Get('https:/', FS);
FS.Free;
через IdHTTP без проблем получаю..
UKRtortik вне форума Ответить с цитированием
Старый 13.03.2014, 17:42   #5
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Полный код в студию
Кольша вне форума Ответить с цитированием
Старый 14.03.2014, 11:27   #6
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

Цитата:
Сообщение от Кольша Посмотреть сообщение
Полный код в студию
Код:
HTTP:=THTTPSend.Create;
with HTTP do begin
Headers.Add('Referer: http://www.icq.com/join/en');
Headers.Add('Accept: application/json, text/javascript, */*');
MimeType:='application/x-www-form-urlencoded';
UserAgent:=GetRandomUserAgent;
Headers.Add('Origin: http://www.icq.com');
Headers.Add('Accept-Language: en-US,en;q=0.8,ru;q=0.6');
Headers.Add('Accept-Encoding: gzip,deflate,sdch');
Headers.Add('Connection: keep-alive');
end;
if http.HTTPMethod('GET', 'http://www.icq.com/join/en') then begin
html:=TStringList.Create;
html.LoadFromStream(http.Document);
captchaimg:=Pars('class="captcha_image captcha__image_new" src="', html.Text, '"');
HTTP.Headers.Clear;
HTTP.HTTPMethod('GET', captchaimg);
http.Document.SaveToFile('captcha.jpeg');
HTTP.Headers.Clear;

Последний раз редактировалось Serge_Bliznykov; 14.03.2014 в 11:40.
UKRtortik вне форума Ответить с цитированием
Старый 14.03.2014, 12:14   #7
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

http.Document.clear;
Кольша вне форума Ответить с цитированием
Старый 14.03.2014, 12:28   #8
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

Цитата:
Сообщение от Кольша Посмотреть сообщение
http.Document.clear;
вообще почему то перестал загружать...
UKRtortik вне форума Ответить с цитированием
Старый 14.03.2014, 12:42   #9
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Разберитесь для начала как работает THTTPSend, потом уже лезьте куда-то.
Код:
HTTP:=THTTPSend.Create;
with HTTP do begin
Headers.Add('Referer: http://www.icq.com/join/en');
Headers.Add('Accept: application/json, text/javascript, */*');
MimeType:='application/x-www-form-urlencoded';
UserAgent:=GetRandomUserAgent;
Headers.Add('Origin: http://www.icq.com');
Headers.Add('Accept-Language: en-US,en;q=0.8,ru;q=0.6');
Headers.Add('Accept-Encoding: gzip,deflate,sdch');
Headers.Add('Connection: keep-alive');
end;
if http.HTTPMethod('GET', 'http://www.icq.com/join/en') then begin
html:=TStringList.Create;
html.LoadFromStream(http.Document);
captchaimg:=Pars('class="captcha_image captcha__image_new" src="', html.Text, '"');
HTTP.Headers.Clear;
http.Document.clear;
HTTP.HTTPMethod('GET', captchaimg);
http.Document.SaveToFile('captcha.jpeg');
HTTP.Headers.Clear;
http.Document.clear;
Кольша вне форума Ответить с цитированием
Старый 14.03.2014, 12:54   #10
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

я точно так же и делал! Не грузит каптчу.
UKRtortik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с получением IP адреса helldog Работа с сетью в Delphi 2 27.12.2011 20:03
Проблема с получением страницы shvabrin Работа с сетью в Delphi 1 28.11.2011 22:49
Проблема с получением диапазона Simbad Microsoft Office Excel 6 26.11.2011 10:49
Проблема с получением страницы lukinjj PHP 2 18.07.2010 21:03
Проблема с получением имени zumm Общие вопросы Delphi 3 14.05.2010 13:06