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
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 04.10.2009, 03:28
Seregakz
Познающий
Регистрация: 13.06.2009
Сообщений: 32
Провел на форуме:
42683

Репутация: 2
Post

Цитата:
Сообщение от slesh  
предпоследний параметр. в HttpOpenRequest
ещё вопросик! мб ты сталкивался! если допустим сервак сильно нагружен (сайт долго грузится) и прога падает в висняк, нельзяли както вылечить?
 
Ответить с цитированием

  #2  
Старый 04.10.2009, 11:07
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

смотря какой метод юзаеш. Если сокеты, то можно ставить таймаут на connect и на recv на уровне сокетов. Если юзаеш чтото большее типа WinInet то можно запускать в потоке и через WaitForSingleObject ждать определенное время завершения потока. Если WaitForSingleObject вернул статус таймаута, то закрываеш хендлы wininet'овские и прибиваешь поток.
 
Ответить с цитированием

  #3  
Старый 04.10.2009, 15:05
Seregakz
Познающий
Регистрация: 13.06.2009
Сообщений: 32
Провел на форуме:
42683

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

Цитата:
Сообщение от slesh  
смотря какой метод юзаеш. Если сокеты, то можно ставить таймаут на connect и на recv на уровне сокетов. Если юзаеш чтото большее типа WinInet то можно запускать в потоке и через WaitForSingleObject ждать определенное время завершения потока. Если WaitForSingleObject вернул статус таймаута, то закрываеш хендлы wininet'овские и прибиваешь поток.
не совсем дошло) вот исходничок)

Код:
function mp3(cto: string): string;
 var F: File;
    hSession, hURL: HInternet;
    Buffer: array[1..1024] of Byte;
    err: boolean;
    ResumePos,BufferLen,SumSize: DWORD;
     iii: integer;   kyda:string;
      header, data:string;
begin

kyda:='1.mp3';
SumSize:=0; ResumePos:=0;
AssignFile (F,kyda);
IF FileExists (kyda) then
  begin
   Reset(f,1);
   ResumePos:=FileSize(F);
   Seek(F, FileSize(F));
  end else ReWrite(f,1);
form1.NADO:= TRUE;
hSession:= InternetOpen('MP3 Down',PRE_CONFIG_INTERNET_ACCESS,nil,nil,0);

  Data:='Content-Type: application/x-www-form-urlencoded'#10;

hURL := InternetOpenURL(hSession,PChar(cto),pchar(data),length(data),INTERNET_FLAG_NO_COOKIES,0);

WaitForSingleObject(InternetOpenURL.hProcess, INFINITE);
InternetQueryDataAvailable(hURL, SumSize,0,0);
if ResumePos>0 then
 begin
 InternetSetFilePointer(hURL,ResumePos,nil,0,0);
 end;
REPEAT
 err:= InternetReadFile(hURL, @Buffer,SizeOf(Buffer),BufferLen);
 IF err= false then
  begin
   Result := 'err'; 
  exit;
  end
  else
  begin
///
  end;
 BlockWrite(f, Buffer, BufferLen);
 Application.Processmessages;
UNTIL (BufferLen= 0) Or (form1.NADO= FALSE);
  Result := 'ok'; 
end;
 
Ответить с цитированием

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

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

Есть к примеру такой html код:

Код:
<html>
<head><title>Отпарсите меня пожалуйста :-)</title></head>
<body>
<a href="http://yandex.ru/">Го на яндекс</a>
<a href="http://google.ru/">Го на гугл</a>
<a href="http://yahoo.com/">Го на яху</a>
</body>
</html>
Как отпарсить этот код с помощью регулярки?
Именно нужно в мемо добавить то что в href стоит
Мемо должен такой получится после парсинга

Код:
http://yandex.ru/
http://google.ru/
http://yahoo.com/
Знаю как парсить один результат а как несколько парсить не знаю :-(
 
Ответить с цитированием

  #5  
Старый 04.10.2009, 20:53
ZirroCool
Участник форума
Регистрация: 16.09.2006
Сообщений: 139
Провел на форуме:
513709

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

wolmer,собстно вот:
http://forum.vingrad.ru/articles/topic-213075.html

Последний раз редактировалось ZirroCool; 04.10.2009 в 20:56..
 
Ответить с цитированием

  #6  
Старый 04.10.2009, 21:39
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

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

wolmer, ежели использовать RegExpr... Применительно к вашему примеру (s - ваш текст).

Код:
function extract (const ainputstring : string; buf : string) : tstringlist;
var
  r : tregexpr;
  f : tstringlist;
begin
  f := tstringlist.create;
  r := tregexpr.create;
  try
    r.expression := buf;
    if r.exec (ainputstring) then
      repeat
        f.add (r.match [0]);
      until not r.execnext;
  finally r.free;
  end;
  result := f;
end;

function to_memo (s : widestring) : integer;
begin
  if extract (s, 'http[^"]*[^"]') <> nil then form1.memo1.lines.addstrings (extract (s, 'http[^"]*[^"]'));
  result := 1;
end;
 
Ответить с цитированием

  #7  
Старый 04.10.2009, 22:41
Хотшок
Новичок
Регистрация: 04.10.2009
Сообщений: 1
Провел на форуме:
1276

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

А где в Dephi 7 компонент NMFTP
 
Ответить с цитированием

  #8  
Старый 04.10.2009, 22:56
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Цитата:
Сообщение от Хотшок  
А где в Dephi 7 компонент NMFTP
его можно установить используя компоненты FastNet для делфаря 7
 
Ответить с цитированием

  #9  
Старый 04.10.2009, 22:44
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

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

Хотшок, его там нет. Используйте альтернативу - TidFTP, вкладка indy clients.
 
Ответить с цитированием

  #10  
Старый 05.10.2009, 09:43
yfet
Познающий
Регистрация: 11.07.2009
Сообщений: 83
Провел на форуме:
279987

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

не соединяется tiсqcliеnt. посоветуйте что делать?
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ