Как использовать один и тот-же класс TidHTTP в 2 функциях? То-есть чтобы куки были одинаковые что в 1 функции, что в 2?
Объявить его глобально, или объявить глобальным куки менеджер а в функциях просто привязыват его к идхттп
Code: Задан текстовый файл, содержащий фрагмент программы на Object Pascal. Найти все статические методы и поместить их в файл, состоящий из записей следующей структуры: имя метода – атрибут доступа( public, protected или private) – класс. Файл должен быть отсортирован по именам методов. понять не могу
есть например текст: dfwegtrhfgerg nfgerggfhgergfh ergegfgeffhgfh efgehrgefgdfj5 56juklo67u45rg gjm6hnm,n65h нужно сделать чтобы после каждого логина вставлялся текст напрмиер "@ololo.ru" и в конце ;'+password+' примерный результат: [email protected];123 [email protected];555 [email protected];43ygh4 [email protected];34yger [email protected];bb654f gjm6hnm,[email protected];54yh7 подскажите как сделать на delphi))
PHP: program Project2; {$APPTYPE CONSOLE} uses SysUtils; var n:string; password:string; begin password:='ferfew'; assign(output,'output.txt'); reset(input,'input.txt'); while not eof(input) do begin readln(input,n); append(output); writeln(n,'@ololo.ru;',password); close(output); end; close(input); end. пасс сделаешь рандомно... а так все норм робит
а пробовал с ц ограниченным циклом? :\ а то я даже и не знаю,по моему закрытие идёт а по всей видимости на практике не происходит.
Ты при отсылки данных указываешь Connection:Close, то есть после закрытия очередного - каждый раз создается новое соединение. Можно открыть сокет, отправив Connection:Keep Alive, а дальше отсылать Get запрос только.
в общем такая проблема: делаю проверку на заполнение полей, и если в поле нет цифр, то выдаётся сообщение что поле не заполнено, если все поля заполнены то выдаётся соответствующее сообщение что "заполнено", но проблема в то что если все поля пусты и мы нажимаем на кнопку то вылетает ошибка. как избавиться от этого, ну или какие есть ещё варианты на проверку заполнения полей? Code: procedure TForm1.Button1Click(Sender: TObject); begin if not (Edit2.Text[1] in ['0'..'9']) then begin ShowMessage('Не заполнено поле 2'); Edit2.SetFocus; if not (Edit1.Text[1] in ['0'..'9']) then begin ShowMessage('Не заполнено поле 1'); Edit1.SetFocus; if not (Edit3.Text[1] in ['0'..'9']) then begin ShowMessage('Не заполнено поле 3'); Edit3.SetFocus; end; end; end else begin ShowMessage('заполнено'); end end;
Ошибка из-за того что ты обращаешься к несуществующему символу: Edit2.Text[1] Прежде чем обращаться к эдиту сделай проверку наподобие if Edit2.Text = '' then begin ShowMessage('Идите в жопу, поля снача заполнять надо!'); exit; end; и так перед обращением к каждому эдиту Можно еще проверять по Length(Edit2.Text) = 0 Ах да, если тебе нужно чтобы в полях было количество символов не больше чем N то выстави свойства у эдитов MaxLength равным N
IDC СМС Спамер... Всем привет! У меня такой вопрос... Есть оператор мобильной связи IDC. Так же у них на серваке есть сайт для отправления СМС-Сообщений на телефоны подключенные к их компании... Вот ссылка: http://sms.idknet.com... Отсюда я и собираюсь отправлять СМС спам... Немного подумав как это проще сделать я нашел самый оптимальный вариант, и перешел к действиям... 1) Снифером HTTP Analyzer 5.0 отсканировал post запрос, который отправляется на файлик отбработчика: http://sms.idknet.com/sms.php Оказалось, что при отправке в обработчик поступают следующие параметры: prefix - Код оператора txtAddr - Номер телефона sum - Оставшееся колличество символов txtSM - Текст СМС Сообщения code - Код Капчи Submit2.x - Абсцысса кнопки "Отправить" (Оставить по умолчанию 35) Submit2.y - Ордината кнопки "Отправить" (Оставить по умолчанию 15) Submit2 - Надпись на кнопке (Оставить по умолчанию Отправить) Если все это дело отправлять Get запросом, то выходит что то вроде такова: http://sms.idknet.com/sms.php?prefix=777&txtAddr=12345&sum=160&txtSM=%C2%E2%E5%E4%E8%F2%E5+%F1%EE%EE%E1%F9%E5%ED%E8%E5.+%C4%EB%E8%ED%E0+%F1%EE%EE%E1%F9%E5%ED%E8%FF+%ED%E5+%E4%EE%EB%E6%ED%E0+%EF%F0%E5%E2%FB%F8%E0%F2%FC+160+%F1%E8%EC%E2%EE%EB%EE%E2.&code=&Submit2.x=35&Submit2.y=15&Submit2=%CE%F2%EF%F0%E0%E2%E8%F2%FC Но после нескольких эксперементов, убедился, что Get запросом тут не обойтись, пишет, что незаполнены поля... Я стал юзать Post... КОД: procedure TForm1.Button2Click(Sender: TObject); var data: tstringlist; ssylka,STR: string; begin idhttp1.HandleRedirects:=true; STR:=idhttp1.Get('http://sms.idknet.com'); ssylka:='http://sms.idknet.com/sms.php'; data:=tstringlist.Create; data.Add('code='+edit3.text); data.Add('prefix='+st); data.Add('Submit2=Отправить'); data.Add('Submit2.x=27'); data.Add('Submit2.y=6'); data.Add('sum=160'); data.Add('txtAddr='+edit1.text); data.Add('txtSM='+edit2.text); str:=idhttp1.Post(ssylka, data); showmessage(idhttp1.URL.URI); if pos('class="bad"', STR) <> 0 then label5.Caption:='Сообщение неотправленно!' else label5.Caption:='Сообщение отправленно!'; end; И функция парса: function tform1.pars(T_, ForS, _T:string):string; var a, b: integer; begin Result:=''; if (T_ = '') or (ForS='') or (_T = '') then exit; a:=pos(T_,ForS); if a = 0 then exit else a:=a+length(T_); fors:=copy(ForS, a, length(ForS) - a + 1); if b > 0 then result:=copy(ForS,1,b-1); end; Все вродебы не плохо, но осталась одна нерешенная проблема!...(( Что делать с капчей... Подумав, я не стал заморачиваться, и решил просто сделать так, чтобы капча выводилась в программу, и я сам ее каждый раз вводил... Код примерно такой: procedure TForm1.Label3Click(Sender: TObject); var _Captcha : TJPEGImage; F_body : TMemoryStream; id, a:string; MyIdHTTP : TIdHTTP; begin MyIdHTTP:=TIdHTTP.Create(Self); F_body := TMemoryStream.Create; _Captcha:=TJPEGImage.Create; try MyIdHTTP.Get('http://sms.idknet.com/code.php', F_body); F_body.Seek(0, soFromBeginning); _Captcha.LoadFromStream(F_body); Image1.Picture.Assign(_Captcha); Image1.Width:=_Captcha.Width; Image1.Height:=_Captcha.Height; finally F_body.Free; _Captcha.Free; end; end; Сама капча находится на главной страничке http://sms.idknet.com, но вытаскивается туда она со странички http://sms.idknet.com/code.php Все вроде бы замечательно, капчу программа в себя вытаскивает нормально, но когда я ее ввожу (и ввожу правильно) всеравно отправка не идет, и пишет что капча введена неверно! Сначала не мог понять в чем прикол, потом догнал... Капча та каждый раз при обновление меняется... Я получается вытаскиваю капчу одну, ввожу ее, а отом при Post запросе вытаскивается страница целиком вместе с капчей, следовательно и капча меняется... Что мне делать в таком случае? Подскажите пожалуйста!!!
slesher idhttp + idcookiemanager + jpeg у мну работает, можешь предпоследнию строчку расскоментировать, что бы смотреть резултат... PHP: procedure TForm1.Button1Click(Sender: TObject); var post: tstringlist; captchatext, result: string; ms: TMemoryStream; begin ms := TMemoryStream.Create; post:=tstringlist.Create; http.Get('http://sms.idknet.com/code.php', ms); ms.SaveToFile('captcha_temp.jpeg'); ms.Clear; captcha.Picture.LoadFromFile('captcha_temp.jpeg'); InputQuery('Captcha','Enter captcha',captchatext); post.Add('prefix=777'); post.Add('txtAddr=13212'); post.Add('txtSM=test'); post.Add('sum=155'); post.Add('code='+captchatext); result:=http.Post('http://sms.idknet.com/sms.php',post); if AnsiPos('ОТПРАВЛЕНО', result) > 0 then showmessage('Отправлено') else showmessage('ХУЙ!'); //showmessage(result); //cookie.CookieCollection.Clear; ms.Free; end;
нифига код не глючный! попробуй не себя ддосить, тогда все ок будет для того чтобы убить апач(под виндой) достаточно нескольких секунд флуда этой функцией из-под 20 потоков, при том что флуд идет не на поиск а на на индекс