ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

05.02.2010, 09:57
|
|
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме: 2310282
Репутация:
149
|
|
Сообщение от 090808
Спсибо помогло, но оно добовляет исходник страницы, а как сделать чтобы просто текст был?
PHP код:
Memo1.Lines.Text := StrPage;
|
|
|

05.02.2010, 10:43
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
заменить <br> на #13#10
=\ это тебе не html
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

05.02.2010, 15:39
|
|
Новичок
Регистрация: 18.02.2008
Сообщений: 20
Провел на форуме: 362398
Репутация:
14
|
|
Код:
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
|
|
|

05.02.2010, 16:07
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
Данные шлёт, но не долго, пока комп не упадёт =))
Что тут можно сделать, чтобы он бесконечно посылал запрос на сервер при этом не нагружая компьютер и не открывая кучу ненужных соединений?
Попробуй из CreateThread вызывать свою функцию (в цикле while (если бесконечно требуется куда то слать пакеты))(ибо была такая же проблема (программа висла (а не перезагр. комп.)))
На счет будет ли нагружать комп. -> не знаю
Последний раз редактировалось wolmer; 05.02.2010 в 16:12..
|
|
|

05.02.2010, 16:38
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
У меня проблемма не в потоках, а в одной функции.
Я не использую потоки, мне просто надо сделать так, чтобы через WinSock посылался запрос в бесконечном цикле.
делать задержку в 1 - 10 секунд так-же не вариант.
нужен бесконечный цикл без задержек и открытия кучи соединений.
|
|
|

05.02.2010, 17:01
|
|
Постоянный
Регистрация: 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..
|
|
|

05.02.2010, 17:09
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от 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;
|
|
|

05.02.2010, 17:23
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Спасибо за помощь. Протестировал.
wolmer, в твоём примере как было куча соединений, так и остается
AlexTheC0d3r, в твоем примере запрос отсылается всего 1 раз. хоть цикл и стоит, но он не работает.
|
|
|

05.02.2010, 17:35
|
|
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме: 2310282
Репутация:
149
|
|
Сообщение от Nightmarе
Спасибо за помощь. Протестировал.
wolmer, в твоём примере как было куча соединений, так и остается
AlexTheC0d3r, в твоем примере запрос отсылается всего 1 раз. хоть цикл и стоит, но он не работает.
Ну так вопрос решен?
|
|
|

05.02.2010, 17:51
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от GlooK
Ну так вопрос решен?
Если не работает, то логично что не решен.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|