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  
Старый 25.02.2009, 21:42
ZET36
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме:
500748

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

Nightmarе а чем сокеты не нравятся?

запрос
Код:
POST http://fanera.6te.net/fileupload/gate2.php HTTP/1.0
User-Agent: Opera/9.10 (Windows NT 5.1; U; ru)
Host: fanera.6te.net
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Proxy-Connection: close
Content-Length: 12
Content-Type: application/x-www-form-urlencoded

file=erewrew

код
Код:
procedure TForm1.Button1Click(Sender: TObject);
var Site : PChar;
   sock : TSocket;
   HostEnt : PHostEnt;
   WSA : TWSAData;
   addr : sockaddr_in;
   sendbuff : String;
   PostData : String;


   otvet:array [1..6000] of char;
begin
//Создаём сокет
if WSAStartup($0101, WSA) <> 0 then
Exit;
sock := Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
FillChar(addr, SizeOf(sockaddr_in), 0);
addr.sin_family := AF_INET;
addr.sin_port := htons(80); //порт
Site := 'fanera.6te.net';              //хост к которому конектится сокет
HostEnt := gethostbyname(Site);
addr.sin_addr.s_addr := Longint(PLongint(HostEnt^.h_addr_list^)^);

Connect(sock, addr, SizeOf(addr)); //коннектимся к сокету
//Формируем запрос
       PostData := '';
       PostData := 'file=ваываыв';   //переменные запроса
       sendbuff := '';
       sendbuff := 'POST http://fanera.6te.net/fileupload/gate2.php HTTP/1.0' + #13#10 +
                   'User-Agent: Opera/9.10 (Windows NT 5.1; U; ru)' + #13#10 +
                   'Host: fanera.6te.net' + #13#10 +
                   'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1' + #13#10 +
                   'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8' + #13#10 +
                   'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1' + #13#10 +
                   'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0' + #13#10 +
                   'Proxy-Connection: close' + #13#10 +
                   'Content-Length: ' + IntToStr(Length(PostData)) + #13#10 +
                   'Content-Type: application/x-www-form-urlencoded'+ #13#10#13#10 + PostData;

       send(sock, sendbuff [1], Length(sendbuff), 0);    //отправляем сокету запрос
        recv(sock,otvet,5000,0);    //читаем ответ
        Memo1.Text:=otvet; //заносим ответ в memo
       CloseSocket(sock);
     end;
 
Ответить с цитированием

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

Репутация: 1680


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

Пасиб про сокэты я в курсе, но суть кода чтобы файл передать, а на сокэтах это не так уж и просто.
 
Ответить с цитированием

  #3  
Старый 25.02.2009, 21:59
Si{R}ius
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме:
776255

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

Пишу модуль на Паскале. По сути написал, но не пойму, что надо указывать в разделе инициализации( Гляньте, плиз, а то кодер с меня пока не очень

Код:
unit unitd;
Interface
uses crt;
type massiv=array[1..100,1..100] of real;
     massiv1=array[1..100] of real;
Implementation
procedure matri(var a:massiv);
procedure Matr_Prakt(a:massiv; var koor:massiv1);
procedure Funkcia(koor:massiv1);

procedure matri;
var
i,j:byte;
function new:real;
begin
 new:=((2-sqr(i-3))/i)*(j-5.7);
 end;
begin
clrscr;
for i:=1 to 10 do
 for j:=1 to 10 do
 a[i,j]:=new;
for i:=1 to 10 do begin
 writeln;
 for j:=1 to 10 do
 write(a[i,j]:8:2);
 end;
 readkey;
end;


procedure Matr_Prakt;
type massiv=array[1..100,1..100] of integer;
     massiv1=array[1..500] of integer;
var   q,n,n1,max_stolb:integer;
i,j:byte;
       x:massiv1;



begin
i:=1;
max_stolb:=1;
for j:=2 to N do
if a[i,j]>a[i,j-1] then max_stolb:=j;

for i:=1 to N do
for j:=1 to N do
koor[i]:=koor[i]+a[i,j]*a[j,max_stolb];

write('a(',koor[1]);
for i:=2 to n do
write(',',koor[i]);
write(')');
writeln;
writeln;
readln;
end;


procedure Funkcia;
var U:real;
qwer,a,i,n,chisl,znam:integer;
q1,q2:real;

function F(b:real; var a:real):integer;

begin
a:=a+b;
end;

begin
for i:=1 to n do
if koor[i]<=1 then f(koor[i],q1);
for i:=1 to n do
if koor[i]>1 then f(koor[i],q2);

U:=(1+q1)/(2+q2);
writeln(u);
readln;
writeln;
writeln;
end;

begin
matri;
Matr_Prakt;
Funkcia;
end.
 
Ответить с цитированием

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

Репутация: 3349


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

стандартная структура модулей такая:
Код:
Unit unitname;
Interface
uses ....
function f1(.........):integer;
procedure f2(........);
implementation
function f1(.........):integer;
begin
 код фунции
end;
procedure f2(........);
begin
 код процедуры
end;
begin
 код если нужно для инициализации
end.
всё что описывается между
Interface и implementation - становится глобальным и может юзаться из другиз модулей, там можешь размещаться типы, прототипы функций и процедур итд

Последний раз редактировалось slesh; 26.02.2009 в 00:20..
 
Ответить с цитированием

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

Репутация: 3349


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

P.S вообщето то, что у тебя в между begin end. - это не инициализация а выпонение функций модуля, они должны вызываться от туда где ты юзаешь этот модуль. А то у тебя получается не подуль а программа в виде модуля
 
Ответить с цитированием

  #6  
Старый 26.02.2009, 00:44
Si{R}ius
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме:
776255

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

Цитата:
Сообщение от slesh  
P.S вообщето то, что у тебя в между begin end. - это не инициализация а выпонение функций модуля, они должны вызываться от туда где ты юзаешь этот модуль. А то у тебя получается не подуль а программа в виде модуля
Проблема в том, что хоть я пишу модуль инициализации, хоть не пишу его, компилятор грит, что нехватает ";", и никак я не могу его откомпилировать.
 
Ответить с цитированием

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

Репутация: 3349


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

2 Nightmarе если не хочешь мучаться с сокетами - юзай стандартные функции из Wininet
 
Ответить с цитированием

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

Репутация: 3349


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

если дело на то пошло то обрати внимание:
1) прототипы функций ты кинул после impementation
2) прототипы функций содержат параметры передаваемые им, а сами функции (их код) не содержат их.
3) вызываешь функции без параметров.
в совокупности этих ппц каких косяков выходит код похожий на
Код:
unit unitd;
Interface
uses crt;
type massiv=array[1..100,1..100] of real;
     massiv1=array[1..100] of real;

 procedure matri(var a:massiv);
 procedure Matr_Prakt(a:massiv; var koor:massiv1);
 procedure Funkcia(koor:massiv1);
Implementation


     procedure matri(var a:massiv);
     var
     i,j:byte;
     function new:real;
     begin
      new:=((2-sqr(i-3))/i)*(j-5.7);
       end;
       begin
       clrscr;
       for i:=1 to 10 do
	for j:=1 to 10 do
	 a[i,j]:=new;
	 for i:=1 to 10 do begin
	  writeln;
	   for j:=1 to 10 do
	    write(a[i,j]:8:2);
	     end;
	      readkey;
	      end;


	      procedure Matr_Prakt(a:massiv; var koor:massiv1);
	      type massiv=array[1..100,1..100] of integer;
		   massiv1=array[1..500] of integer;
		   var   q,n,n1,max_stolb:integer;
		   i,j:byte;
			  x:massiv1;



			  begin
			  i:=1;
			  max_stolb:=1;
			  for j:=2 to N do
			  if a[i,j]>a[i,j-1] then max_stolb:=j;

			  for i:=1 to N do
			  for j:=1 to N do
			  koor[i]:=koor[i]+a[i,j]*a[j,max_stolb];

			  write('a(',koor[1]);
			  for i:=2 to n do
			  write(',',koor[i]);
			  write(')');
			  writeln;
			  writeln;
			  readln;
			  end;


			  procedure Funkcia(koor:massiv1);
			  var U:real;
			  qwer,a,i,n,chisl,znam:integer;
			  q1,q2:real;

			  function F(b:real; var a:real):integer;

			  begin
			  a:=a+b;
			  end;

			  begin
			  for i:=1 to n do
			  if koor[i]<=1 then f(koor[i],q1);
			  for i:=1 to n do
			  if koor[i]>1 then f(koor[i],q2);

			  U:=(1+q1)/(2+q2);
			  writeln(u);
			  readln;
			  writeln;
			  writeln;
			  end;

			 var
			 aa:massiv;
			 bb:massiv1;
			  begin
			  matri(aa);
			  Matr_Prakt(aa,bb);
			  Funkcia(bb);
			  end.
 
Ответить с цитированием

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

Репутация: 3349


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

p.s. кучу раз описывать типы ненужно, один раз описал и потом юзай их, а у тя одни и теже типы описываются по сто раз
 
Ответить с цитированием

  #10  
Старый 26.02.2009, 01:31
Si{R}ius
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме:
776255

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

Цитата:
Сообщение от slesh  
p.s. кучу раз описывать типы ненужно, один раз описал и потом юзай их, а у тя одни и теже типы описываются по сто раз
Я все так и сделал, выполняю саму прогу, вызывающую подпрограмму, пишет 49 ошибку "Data segment too large"
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ