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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2009, 20:30   #1
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию капча

как получить капчу из этой страницы? http://wen.ru/gb/?uid=1&form=1
я писал такой код
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
Captcha:TMemoryStream;
s,sres:string;
begin
captcha:=TMemoryStream.Create;

idHTTP1.Get('http://wen.ru/secure/wbmp.php?2232030,1019', captcha);
captcha.SaveToFile('C:\captcha.bmp');
Captcha.Free;
Image1.Picture.LoadFromFile('C:\captcha.bmp');

end;
но на это программка ругалась что плохой bmp файл
DeDoK вне форума Ответить с цитированием
Старый 07.07.2009, 21:07   #2
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Путь то меняется, щас там: http://wen.ru/secure/wbmp.php?6278128,5694
Alter вне форума Ответить с цитированием
Старый 07.07.2009, 21:14   #3
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

а как получить исходный код страницы? тогда можно попробовать с помощью pos и copy сформировать путь к капче. есть предложения как получить страничку в html варианте?
DeDoK вне форума Ответить с цитированием
Старый 07.07.2009, 21:20   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вы уверенны что там именно bmp картинка?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.07.2009, 21:21   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Надо обращаться не к некому динамичному адресу, а get-ить страницу, на которой отображается эта ссылка и забирать оттуда адрес.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 07.07.2009, 21:32   #6
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

Квенди можно подробней? или с примером?
2Пепел Феникса - там bmp и gif.
DeDoK вне форума Ответить с цитированием
Старый 07.07.2009, 22:19   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
var s:string;
    CapchaID:string;
begin
 s:=idHTTP1.Get('http://wen.ru/gb/?uid=1&form=1');
 CapchaID:=Copy(s,pos('<img src="/secure/wbmp.php?',s)+length('<img src="/secure/wbmp.php?'),pos('"',Copy(s,pos('<img src="/secure/wbmp.php?',s)+length('<img src="/secure/wbmp.php?'),15))-1);
 ShowMessage(CapchaID);
end;
коряво но работает...
CapchaID - это именно изменяемая часть ссылки на капчу(выделил красным, использовать я думаю сможешь и сам)
http://wen.ru/secure/wbmp.php?6278128,5694

я не уверен что WBMP и BMP одно и тоже
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.07.2009, 23:28   #8
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

спасибо))))я разобрался) правда wbmp не использовал. я gif решил пробовать - вышло
DeDoK вне форума Ответить с цитированием
Старый 08.07.2009, 23:30   #9
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

еще вопрос. как получить вторую часть CaptchaID - ту что после запятой?
иными словами столкнулся с проблемой по нажатию кнопки Сказать
пишу такой код
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
captcha, name : string;
params:tstringlist;
begin
captcha:=Edit2.Text;
name:=edit3.Text;
params:=TStringList.Create;
try
params.Add('author='+name);
params.Add('message'+Memo1.Lines.Text);
params.Add('tr=n');
params.Add('uid=1');
params.Add('add=1');
params.Add('code='+captcha);
params.Add('cid=7257959');
params.Add('lng=ru');
idhttp1.Post('http://wen.ru/gb/',params);
finally
params.free;
end;
end;
end.
это вроде все параметры. но там подметил в исходнике такую строку как
Код:
Сообщение:</small><input type="text" name="message4945"
где число в конце - вторая часть CaptchaID

Последний раз редактировалось DeDoK; 08.07.2009 в 23:32.
DeDoK вне форума Ответить с цитированием
Старый 09.07.2009, 00:02   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

выделяем вторую часть из CaptchaID
Код:
 ShowMessage(Copy(CapchaID,pos(',',CapchaID)+1,length(CapchaID)-pos(',',CapchaID)+1));
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка смс чере мегафон урал (Проблема получения КАПЧА) FullZero13 PHP 12 25.06.2009 15:36
капча в Image, загрузка из интернета DeDoK Работа с сетью в Delphi 11 30.04.2009 13:57
Капча, спам, купите у нас мешок виагры, скачать порно бесплатно JTG Свободное общение 9 05.03.2009 20:36