CREATE_INTERFACE
{
DIALOG "ReqSync v.2.1" 350 90
STATIC_0 "Период синхронизации(мин):" 10 20 180 30
EDIT_0 "1" 175 15 25 25
BUTTONSCRIPT "СТАРТ" 220 15 100 25
}
int delay=formatsn(getcontrol(EDIT_0))*1000*60;
st:;
char s[2000];
char p[2000];
string preiemnik[99999];
string prefix="";
string method="";
string a="";
string b="";
string c="";
string d="";
int t_content_length=0;
int sizf=0;
start(""+pathfolder()+"_Rtc.bat"
;
for(int i=0; i<99999; i++)
{
preiemnik[i]="";
}
if(fopen (""+pathfolder()+"SynhroBD.txt", "r"
>0)
//if(fopen ("c:\sdk\server\SynhroBD.txt", "r"
>0)
{
for(i=0; i<99999; i++)
{
if(freadline(preiemnik[i])==0)
{
goto 13;
}
}
13:;
preiemnik[i+1]="end";
fclose();
}
else
{
pause(1000);
goto st;
}
if(fopen (""+pathfolder()+"SynhroBD.txt", "w"
>0)
{
fclose();
}
for(i=0; i<99999; i++)
{
if(preiemnik[i]=="reinit"
{
prefix=preiemnik[i-1];
method=preiemnik[i];
proccess();
}
if(preiemnik[i]=="creg"||preiemnik[i]=="freg"
{
prefix=preiemnik[i-1];
method=preiemnik[i];
i++;
a=preiemnik[i];
i++;
b=preiemnik[i];
proccess();
}
if(preiemnik[i]=="kill"
{
prefix=preiemnik[i-1];
method=preiemnik[i];
i++;
a=preiemnik[i];
i++;
b=preiemnik[i];
i++;
c=preiemnik[i];
i++;
d=preiemnik[i];
proccess();
}
}
end:;
closesocket();
for(i=0; i<99999; i++)
{
preiemnik[i]="end";
}
for(i=0; i<2000; i++)
{
s[i]='';
p[i]='';
}
prefix="";
method="";
a="";
b="";
c="";
d="";
t_content_length=0;
sizf=0;
pause(delay);
goto st;
function proccess()
{
if(opensocket("fallout-requiem.ru", 80)>0);
{
strcpy(#s[0], "POST /*** HTTP/1.1"
;//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"Host: ***"
;//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0],format(#s[0])+"Content-Type: multipart/form-data;"
;//Формируем POST запрос
savegetpost(#s[0], 0);
strcpy(#s[0], format(#s[0])+" boundary=ReqServ"
;//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"Content-Length: 0000000000" );
savegetpost(#s[0], 2);
t_content_length=sizf;
strcpy(#s[0], format(#s[0])+"--ReqServ" );//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"Content-Disposition: form-data; name="+formatic(34)+"prefix"+formatic(34));//Формируем POST запрос
savegetpost(#s[0], 2);
strcpy(#s[0], format(#s[0])+prefix);//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"--ReqServ" );//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"Content-Disposition: form-data; name="+formatic(34)+"method"+formatic(34));//Формируем POST запрос
savegetpost(#s[0], 2);
strcpy(#s[0], format(#s[0])+method);//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"--ReqServ" );//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"Content-Disposition: form-data; name="+formatic(34)+"a"+formatic(34));//Формируем POST запрос
savegetpost(#s[0], 2);
strcpy(#s[0], format(#s[0])+a);//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"--ReqServ" );//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"Content-Disposition: form-data; name="+formatic(34)+"b"+formatic(34));//Формируем POST запрос
savegetpost(#s[0], 2);
strcpy(#s[0], format(#s[0])+b);//Формируем POST запрос
savegetpost(#s[0], 1);
sizf=size(#s[0]);
strcpy(#s[0], format(#s[0])+"--ReqServ" );//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"Content-Disposition: form-data; name="+formatic(34)+"c"+formatic(34));//Формируем POST запрос
savegetpost(#s[0], 2);
strcpy(#s[0], format(#s[0])+c);//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"--ReqServ" );//Формируем POST запрос
savegetpost(#s[0], 1);
strcpy(#s[0], format(#s[0])+"Content-Disposition: form-data; name="+formatic(34)+"d"+formatic(34));//Формируем POST запрос
savegetpost(#s[0], 2);
strcpy(#s[0], format(#s[0])+d);//Формируем POST запрос
savegetpost(#s[0], 1);
save_content_length();
if (sendhtml(#s[0], sizf)>0)//Если отправили запрос
{
recvhtml(#p[0], 999);//читаем ответ
//messagebox (format(#p[0]));
}
closesocket ();//Закрываем
}
}
function savegetpost(char #s, int p)
{
sizf=size(#s[0]);//Узнаем номер в массиве конца строки с POST запросом
//Записываем \r\n или \r\n\r\n
for (int n=0; n < p; n++){s[sizf]=formatic(13);s[sizf+1]=formatic(10);sizf=sizf+2;}
s[sizf]=formatic(0);
}
function save_content_length()
{
char c_cont_l[12];
strcpy(#c_cont_l[0], format(sizf-t_content_length));
int siz_cont_l=size(#c_cont_l[0]);
int r_cont_l=10-siz_cont_l;
for (int n=0; n < siz_cont_l; n++)s[t_content_length-14+r_cont_l+n]=c_cont_l[n];
}
out:;