RWS
11.03.2010, 11:24
Имеется приложение для рассылки инвайтов в ВК с использование idHTTP. Запросы отправляю методом post. При появление капчи переподключаю впн. В итоге в локалке забанили на 24 часа за широковещательный трафик. Подскажите в чём может быть причина? Пауза между пост запросами стоит в районе 500-1000мс...
Может быть из-за переподключения впн и проверки соединения?
Код переподключения:
Function Connecting: Integer; //проверяет соединение с интернетом
Var
Conns: Array[1..10] Of TRasConn;
Size: Integer;
Num: Integer;
Begin
Size:=Sizeof(TRasConn)*10;
Fillchar(Conns, Size, 0);
Conns[1].DwSize:=Sizeof(TRasConn);
RASEnumConnectionsA(@conns[1], Size, Num);
Connecting:=Num;
End;
procedure Connect; //подключается к интернету
var
cmd, par, fil, dir: PChar;
begin
cmd := 'open';
fil := 'rasdial.exe';
par := PChar(VPNName + ' ' + VPNLogin + ' ' + VPNPass);
dir := 'C:';
ShellExecute(Form1.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
sleep(5000);
end;
procedure Diconnect; //отключается от интернета
var
cmd, par, fil, dir: PChar;
begin
cmd := 'open';
fil := 'rasdial.exe';
par := PChar(VPNName + ' /DISCONNECT');
dir := 'C:';
ShellExecute(Form1.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
sleep(500);
end;
procedure reconnect; //выполняет переподключение
begin
Diconnect;
repeat Connect Until Connecting<>0;
accNum -1;
end;
Может быть из-за переподключения впн и проверки соединения?
Код переподключения:
Function Connecting: Integer; //проверяет соединение с интернетом
Var
Conns: Array[1..10] Of TRasConn;
Size: Integer;
Num: Integer;
Begin
Size:=Sizeof(TRasConn)*10;
Fillchar(Conns, Size, 0);
Conns[1].DwSize:=Sizeof(TRasConn);
RASEnumConnectionsA(@conns[1], Size, Num);
Connecting:=Num;
End;
procedure Connect; //подключается к интернету
var
cmd, par, fil, dir: PChar;
begin
cmd := 'open';
fil := 'rasdial.exe';
par := PChar(VPNName + ' ' + VPNLogin + ' ' + VPNPass);
dir := 'C:';
ShellExecute(Form1.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
sleep(5000);
end;
procedure Diconnect; //отключается от интернета
var
cmd, par, fil, dir: PChar;
begin
cmd := 'open';
fil := 'rasdial.exe';
par := PChar(VPNName + ' /DISCONNECT');
dir := 'C:';
ShellExecute(Form1.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
sleep(500);
end;
procedure reconnect; //выполняет переподключение
begin
Diconnect;
repeat Connect Until Connecting<>0;
accNum -1;
end;