HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4631  
Старый 16.10.2009, 09:57
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

Репутация: 89
По умолчанию

bmp12, вот еще, кстати, попробуйте функцию (переписывал под себя, чтобы капчу на диск не сохранять)

Код:
function recognize (itype: string; key: string; image : tmemorystream) : string;
var
  ftype, s, id: string;
  i: integer;
  http: tidhttp;
  multi: tidmultipartformdatastream;
begin
  if strpos (pchar (itype), 'jpg') <> nil then ftype := 'image/pjpeg';
  if strpos (pchar (itype), 'gif') <> nil then ftype := 'image/gif';
  if strpos (pchar (itype), 'png') <> nil then ftype := 'image/png';
  multi := Tidmultipartformdatastream.Create;
  multi.AddFormField ('method', 'post');
  multi.AddFormField ('key', key);
  multi.AddObject ('file', ftype, image, 'captcha.' + itype);
  http := tidhttp.Create;
  s := http.Post ('http://antigate.com/in.php', multi);
  http.Free; multi.Free;
  id := '';
  if strpos (Pchar (s), 'ERROR_') <> nil then begin result := s; exit; end;
  if strpos (Pchar (s), 'OK|') <> nil then id := AnsiReplaceStr (s, 'OK|', '');
  if id = '' then result := 'ERROR: bad captcha id';
  for i := 1 to 20 do
  begin
    sleep (5000);
    http := tidhttp.Create;
    s := http.Get ('http://antigate.com/res.php?key=' + key + '&action=get&id=' + id);
    http.Free;
    if strpos (Pchar (s), 'ERROR_') <> nil then begin result := s; exit; end;
    if strpos (Pchar (s), 'OK|') <> nil then
    begin
      result := AnsiReplaceStr (s, 'OK|', '');
      exit;
    end;
  end;
  result := 'ERROR_TIMEOUT';
end;
Обращение: recognize ('jpg', ackey, image) - тип картинки / ас ключ / картинка в tmemorystream
 
Ответить с цитированием

  #4632  
Старый 16.10.2009, 20:04
mobilka
Познающий
Регистрация: 13.10.2009
Сообщений: 63
Провел на форуме:
373897

Репутация: 13
По умолчанию

граждане простой вопрос. есть функция-
s := SendFile('localhost', '/1.php', 'путь до файла');
открываем файл через опендиалог и путь до файла загружается в листбокс (пример с:/хрень.rar) как сделать что бы этот же путь вставлялся в строчку 'путь до файла'
 
Ответить с цитированием

  #4633  
Старый 16.10.2009, 20:32
Hellsp@wn
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме:
2715445

Репутация: 588
По умолчанию

wolmer
Код:
'Connection: Close'+#13#10+#13#10;
 
Ответить с цитированием

  #4634  
Старый 16.10.2009, 20:55
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме:
724939

Репутация: 108
Отправить сообщение для =Zeus= с помощью ICQ
По умолчанию

mobilka
Код:
var path: string;
path := OpenDialog1.FileName;

Последний раз редактировалось =Zeus=; 16.10.2009 в 21:00..
 
Ответить с цитированием

  #4635  
Старый 16.10.2009, 21:24
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

Репутация: 229
По умолчанию

Hellsp@wn, спасибо!

Народ так как все таки принять ответ html на winsock?

Метод:
Код:
      repeat
       dSize:=recv(s, recv1buf, 4096, 0);
       Memo1.lines.Add(recv1buf);
      until (dSize = 0) or (dSize = SOCKET_ERROR);
Слишком долгий (то есть прога зависает на ~1 мин при этом коде)
 
Ответить с цитированием

  #4636  
Старый 16.10.2009, 21:49
SENTRY
Новичок
Регистрация: 28.07.2009
Сообщений: 4
Провел на форуме:
177648

Репутация: 0
По умолчанию

Как организовать окошко, в котором выбирается файл на диске? Типа как при нажатии кнопки Browse в любом приложении. Передачу пути выбранного файла в переменную и поле ввода я прикручу сам.
 
Ответить с цитированием

  #4637  
Старый 16.10.2009, 21:58
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме:
724939

Репутация: 108
Отправить сообщение для =Zeus= с помощью ICQ
По умолчанию

SENTRY
Кинь на форму OpenDialog и кнопку.
В Онклик кнопки пропиши
Цитата:
if OpenDialog1.Exexute=true then
 
Ответить с цитированием

  #4638  
Старый 17.10.2009, 05:15
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

Репутация: 89
По умолчанию

А лучше так:

Код:
open.execute;
if open.filename = '' then exit;
<далее действия с файлом>
 
Ответить с цитированием

  #4639  
Старый 17.10.2009, 11:52
mobilka
Познающий
Регистрация: 13.10.2009
Сообщений: 63
Провел на форуме:
373897

Репутация: 13
По умолчанию

Цитата:
Сообщение от =Zeus=  
mobilka
Код:
var path: string;
path := OpenDialog1.FileName;
не работает. вставил на онклик бутон2-
Цитата:
procedure TForm1.Button2Click(Sender: TObject);
var path: string;
begin
if OpenDialog1.Execute then begin
Listbox1.Items.Add(ExtractFileName(opendialog1.Fil eName));
end;
а в функцию-
Цитата:
s := SendFile('site.ru', '/get.php', 'path := OpenDialog1.FileName;');
пробовал и наоборот но все равно не пашет

Последний раз редактировалось mobilka; 17.10.2009 в 11:54..
 
Ответить с цитированием

  #4640  
Старый 17.10.2009, 12:53
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

Репутация: 229
По умолчанию

Цитата:
Сообщение от wolmer  
Hellsp@wn, спасибо!

Народ так как все таки принять ответ html на winsock?

Метод:
Код:
      repeat
       dSize:=recv(s, recv1buf, 4096, 0);
       Memo1.lines.Add(recv1buf);
      until (dSize = 0) or (dSize = SOCKET_ERROR);
Слишком долгий (то есть прога зависает на ~1 мин при этом коде)
Ап, помогите пожалуйста
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ