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

  #5531  
Старый 05.02.2010, 09:57
GlooK
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме:
2310282

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

Цитата:
Сообщение от 090808  
Спсибо помогло, но оно добовляет исходник страницы, а как сделать чтобы просто текст был?
PHP код:
Memo1.Lines.Text := StrPage
 
Ответить с цитированием

  #5532  
Старый 05.02.2010, 10:43
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

заменить <br> на #13#10

=\ это тебе не html
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #5533  
Старый 05.02.2010, 15:39
BenZeR
Новичок
Регистрация: 18.02.2008
Сообщений: 20
Провел на форуме:
362398

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

Код:
procedure TForm1.startClick(Sender: TObject);
begin
for I := 0 to 1 do
begin
  icqclient1.UIN:=uin2[i];
  icqclient1.Password:=pass2[i];
  icqclient1.Login();
  icqclient1.ChangePassword('ipc');
  icqclient1.LogOff;
  ShowMessage('ok');
end;
end;
Собственно вопрос, почему не коннектится к серверу и не меняет пасс?
//юзаю TICQClient
 
Ответить с цитированием

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

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

Цитата:
Данные шлёт, но не долго, пока комп не упадёт =))
Что тут можно сделать, чтобы он бесконечно посылал запрос на сервер при этом не нагружая компьютер и не открывая кучу ненужных соединений?
Попробуй из CreateThread вызывать свою функцию (в цикле while (если бесконечно требуется куда то слать пакеты))(ибо была такая же проблема (программа висла (а не перезагр. комп.)))

На счет будет ли нагружать комп. -> не знаю

Последний раз редактировалось wolmer; 05.02.2010 в 16:12..
 
Ответить с цитированием

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

Репутация: 1680


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

У меня проблемма не в потоках, а в одной функции.
Я не использую потоки, мне просто надо сделать так, чтобы через WinSock посылался запрос в бесконечном цикле.
делать задержку в 1 - 10 секунд так-же не вариант.
нужен бесконечный цикл без задержек и открытия кучи соединений.
 
Ответить с цитированием

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

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

Цитата:
У меня проблемма не в потоках, а в одной функции.
Я не использую потоки, мне просто надо сделать так, чтобы через WinSock посылался запрос в бесконечном цикле.
делать задержку в 1 - 10 секунд так-же не вариант.
нужен бесконечный цикл без задержек и открытия кучи соединений.
Хорошо, если winsock+while открывает так много соединений, то просто пиши код чтобы ждал завершения функции и начинал заного с функции (больше не знаю как помочь):
Пиши в uses -> SYNCOBJS

Заводи переменную cs:TCriticalSection;
(на всю программу)
(и в formcreate пиши -> cs:=tcriticalsection.create

Ты вызываешь функцию в while цикле как я понял, верно? Если да то код должен был примерно таким:
Код:
while true do
 begin
  fWSRecv('localhost',
'GET /log/ass.php' + #13#10 +
'Host: localhost' + #13#10 +
'User-Agent: Mozilla/5.0' + #13#10 +
'Accept: text/html' + #13#10 +
'Accept-Language: ru' + #13#10 +
'Accept-Charset: windows-1251' + #13#10 +
'Connection: close' + #13#10#13#10);
 end;
Теперь берешь и дополняешь его:
Код:
while true do
 begin
  cs.Enter;
  fWSRecv('localhost',
'GET /log/ass.php' + #13#10 +
'Host: localhost' + #13#10 +
'User-Agent: Mozilla/5.0' + #13#10 +
'Accept: text/html' + #13#10 +
'Accept-Language: ru' + #13#10 +
'Accept-Charset: windows-1251' + #13#10 +
'Connection: close' + #13#10#13#10);
  cs.Leave;
 end;
Тем самым он будет ждать пока функция завершится, как она завершилась -> стартует заного! (или же попробуй еще cs.Leave; поставить в конце функции (если выше приведенный код -> не канает))

По другому -> увы не знаю как сделать

Последний раз редактировалось wolmer; 05.02.2010 в 17:05..
 
Ответить с цитированием

  #5537  
Старый 05.02.2010, 17:09
AlexTheC0d3r
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме:
1229135

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

Цитата:
Сообщение от Nightmarе  
Попробуй её:
while true do
fWSRecv();

и через 5 секунд компостер повиснет окончательно.

я пока тут тесты с этими соксами провожу, уже за 2 дня 40 раз комп повис, приходилось перезагрузать.
может конечно мой вопрос не корректен, так как не было времени особо разбирать функцию, но не лучше ли вставлять бесконечный цикл уже в самой функции, после открытия соединения и перед закрытием?

Код:
function fWSRecv(wHost, wRequest: string):string;
var
hSocket: TSocket;
hHost: PHostEnt;
hAddr: TSockAddrIn;
hTimeout: TTimeVal;
iRead: integer;
hBuffer: array[0..buffsize] of char;
begin

 hSocket := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
 hHost := gethostbyname(PChar(wHost));
 hAddr.sin_family := AF_INET;
 hAddr.sin_port := htons(80);
 hAddr.sin_addr := pinaddr(hHost^.h_addr^)^;
 hTimeout.tv_usec := 0;
 hTimeout.tv_sec := mstimeout;
 setsockopt(hSocket, SOL_SOCKET, SO_RCVTIMEO, @hTimeout, sizeof(ttimeval));
 connect(hSocket, hAddr, SizeOf(hAddr));
 
while (TRUE) do
 begin // МММ??
 Send(hSocket, wRequest[1], length(wRequest), 0);
  FillChar(hBuffer, SizeOf(hBuffer), 0);
  iRead := Recv(hSocket, hBuffer, length(hBuffer), 0);
//  hData := hData + copy(hBuffer, 0, iRead);
  if (iRead <= 0) then break;
 end;
 CloseSocket(hSocket);
//result := hData;
end;
 
Ответить с цитированием

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

Репутация: 1680


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

Спасибо за помощь. Протестировал.
wolmer, в твоём примере как было куча соединений, так и остается
AlexTheC0d3r, в твоем примере запрос отсылается всего 1 раз. хоть цикл и стоит, но он не работает.
 
Ответить с цитированием

  #5539  
Старый 05.02.2010, 17:35
GlooK
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме:
2310282

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

Цитата:
Сообщение от Nightmarе  
Спасибо за помощь. Протестировал.
wolmer, в твоём примере как было куча соединений, так и остается
AlexTheC0d3r, в твоем примере запрос отсылается всего 1 раз. хоть цикл и стоит, но он не работает.
Ну так вопрос решен?
 
Ответить с цитированием

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

Репутация: 1680


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

Цитата:
Сообщение от GlooK  
Ну так вопрос решен?
Если не работает, то логично что не решен.
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ