![]() |
|
#1
|
||||
|
||||
![]() Хочу получить капчу с Dle сайта.
Капча гениться php скриптом, поэто просто так её не получишь, пишет "Hacking attemp" Пробовал через idhttp , неполучилось. Видимо нужно передавать какие-то параметы еще. Вот код: Код:
procedure TForm1.Button4Click(Sender: TObject); var list: TStringList; begin list := TStringList.Create; list.Add('username=******'); list.Add('password=******'); try memo1.Lines.Clear; memo1.lines.text := IdHTTP1.Post('http://100pka.com/engine/modules/antibot.php',list); finally list.Free; IdHTTP1.Disconnect; end; end; Помогите плз а еще лутше выложите код... Последний раз редактировалось Zigfreed1, 08.02.2009 в 18:24. |
#2
|
||||
|
||||
![]() код капчи сохраняется в переменную сессии. в Securimage(phpcaptcha.org) код сохраняется в $_SESSION['securimage_code_value']. в других капчах - в другую переменную. код генерится во время вывода картинки и узнать его до запроса страницы невозможно. еще надо учитывать, что если сервер не использует куки, то обойти капчу невозможно, т.к. все переменные хранятся на сервере.
З.Ы. запрашивать надо не модуль З.З.Ы. Предоставленную инфу нельзя использовать в злостных целях типа спама и взлома!!! РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت Последний раз редактировалось KOOL, 08.02.2009 в 18:48. |
#3
|
||||
|
||||
![]() Спс, но теперь как получить значение $_SESSION['securimage_code_value'] в Delphi?
Изначально я хотел получить не код, а хотя бы саму картинку с капчой. но если получить её значение эт даже лутше)) |
#4
|
||||
|
||||
![]() это уже не ко мне - не работал с таким...
насчет картинки: просто скопировать адрес нельзя-картинка генерируется в реалтайме. нужно как-то извлечь полученную. насчет переменной-надо рыться в куках. но с кодом вариант малопрактичен, так как большинство сайтов давно перешли на сессии, а в куках хранят лишь ее айди РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت |
#5
|
||||
|
||||
![]() даа... ну ладно может еще кто-то что-то посоветует, да и сам буду раздупляться
|
#6
|
||||
|
||||
![]() Вот небольшой примерчик получения капчи с сайта отправки СМС на МТС
Код:
var sitedata:TStringList; start,finish:integer; capcha:TFileStream; capfile:string; begin //Данные MainForm.IdCookieManager.CookieCollection.Clear; sitedata:=TStringList.Create; sitedata.Text:=MainForm.IdHTTP.Get('http://sms.mts.ru/live/smsxtra.aspx?region=msk'); start:=posex('value="',sitedata.Text,pos('__LBD_VCT_live_smsxtra_ctl00_ctl00_ctl00_smssendcontrol_captcha',sitedata.Text))+7; MTSCapchaID:=copy(sitedata.Text,start,32); sitedata.Free; //Капча capfile:=ExtractFilePath(Application.ExeName)+Format('MTS\%s.gif',[MTSCapchaID]); capcha:=TFileStream.Create(capfile,fmCreate); MainForm.IdHTTP.Get( Format( 'http://sms.mts.ru/live/QACaptcha.aspx?get=image&c=live_smsxtra_ctl00_ctl00_ctl00_smssendcontrol_captcha&t=%s&s=%s', [MTSCapchaID,MainForm.IdCookieManager.CookieCollection.Items[0].Value]), capcha ); capcha.Free; Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#7
|
||||
|
||||
![]() Спс, но дело в том, что сдесь капча выводиться сразу. В моём же случае капча генерируется специальным php скриптом. Если обратиться к нему напрямую, то он выдает : "Hacking attempt" . Тоесть ему надо как-то передать нужные параметры... Но какие и как?
Последний раз редактировалось Zigfreed1, 09.02.2009 в 20:03. |
#8
|
||||
|
||||
![]() Всё я разобрался)) Спасибо тем кто откликнулся.
Но теперь еще 1 вопрос: Как теперь программно можна залогиниться на сайте? Последний раз редактировалось Zigfreed1, 09.02.2009 в 21:34. |
#9
|
|||
|
|||
![]() Zigfreed1, поделись как копчу получить? Ни как понять не могу.
|
#10
|
||||
|
||||
![]() А что такое капча?
|