ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Delphi POST Запрос
  #1  
Старый 13.07.2009, 16:30
Аватар для Sin3v
Sin3v
Участник форума
Регистрация: 16.07.2008
Сообщений: 159
Провел на форуме:
1063538

Репутация: 240
Отправить сообщение для Sin3v с помощью ICQ
По умолчанию Delphi POST Запрос

Как отправить post запрос с Delphi?
пример на PHP:
PHP код:
<form action="login.php" method="post">
<
input name="email" type="text" value="" />
<
input name="pass" type="password" value="" />
<
input name="submit" type="button" value="Войти" />
</
form
 
Ответить с цитированием

  #2  
Старый 13.07.2009, 16:40
Аватар для diznt
diznt
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
Провел на форуме:
6128108

Репутация: 445


По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 PostData:TStringList;
begin
    PostData.Add('email=ololo@mail.ru');
    PostData.Add('pass=mypass');
    IdHTTP1.Post('http://sait.ru/login.php',PostData);
end;
Находу сбацал... Должно работать...
Ах да на форму компонент idHTTP1 (вкладка indy clients)
 
Ответить с цитированием

  #3  
Старый 13.07.2009, 22:34
Аватар для Sin3v
Sin3v
Участник форума
Регистрация: 16.07.2008
Сообщений: 159
Провел на форуме:
1063538

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

Спс пашет, вот так)
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 PostData:TStringList;
begin
    PostData:= TStringList.Create;
    PostData.Add('email=ololo@mail.ru');
    PostData.Add('pass=mypass');
    IdHTTP1.Post('http://sait.ru/login.php',PostData);
end;
 
Ответить с цитированием

  #4  
Старый 14.07.2009, 00:04
Аватар для eLWAux
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


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

и на сокетах )
Код:
uses winsock

const hos = 'google.com';

function POST(URL,PACKET:string):string;
var
 req{,data} : string;
 buf      : array[0..1500] of char;
 wData    : WSADATA;
 addr     : sockaddr_in;
 sock     : integer;
 error    : integer;
 phe      : PHostEnt;
begin
 Result := '';
 WSAStartup($0101, wData);
 phe := gethostbyname(PChar(string(host)));
 if phe = nil then begin
    WSACleanup;
    exit;
 end;
 sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
 if sock = INVALID_SOCKET then begin
    WSACleanup;
    exit;
 end;
 addr.sin_family := AF_INET;
 addr.sin_port   := htons(80);
 addr.sin_addr   := PInAddr(phe.h_addr_list^)^;
 error := connect(sock, addr, sizeof(addr));
 if error = SOCKET_ERROR then begin
    closesocket(sock);
    WSACleanup;
    exit;
 end;
 req := PACKET;
 if Send(Sock,pointer(req)^,length(req),0)=SOCKET_ERROR then exit;
 fillchar(buf,sizeof(buf),0);
 recv(Sock,buf,10000,0);//sizeof(buf
 closesocket(Sock);
 result:=buf;
end;

function ePOST(URL,_POST:string):string;
var req:string;
begin
 req:='POST '+URL+' HTTP/1.1'#13#10+
      'Host: '+host+#13#10+
      'User-Agent: Opera/9.24 (Windows NT 5.1; U; en)'#13#10+
      'Accept: */*;q=0.1'#13#10+
      'Accept-Encoding: gzip,deflate'#13#10+
      'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'#13#10+
      'Connection: Keep-Alive'#13#10+
      'Referer: http://vkontakte.ru/index.php'#13#10+
      'Content-Length: '+inttostr(length(_POST))+#13#10+
      'Content-Type: application/x-www-form-urlencoded'#13#10#13#10+_POST;
  result:=POST(URL,req);
end;

ePOST('http://google.com','a=b&c=d&f=g&');
 
Ответить с цитированием

  #5  
Старый 14.07.2009, 00:07
Аватар для Hellsp@wn
Hellsp@wn
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме:
2715445

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

лучше уж на компонентах, а то этот код на сокетах ещё причёсывать и причёсывать.
 
Ответить с цитированием

  #6  
Старый 15.07.2009, 10:57
Аватар для Chrome~
Chrome~
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме:
1747641

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

Нет, на сокетах лучше.
 
Ответить с цитированием

  #7  
Старый 16.07.2009, 22:17
Аватар для Gar|k
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

надо блин создать отдельную тему сетевое программирование.... задолбали однотипные вопросы по реализации HTTP запросов и работы с сокетами на различных языках....
 
Ответить с цитированием

  #8  
Старый 29.07.2009, 14:44
Аватар для Neo][acK
Neo][acK
Новичок
Регистрация: 27.03.2009
Сообщений: 1
Провел на форуме:
3081

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

На Wininet
Код:
var
hOpenHandle, hConnectHandle, hResourceHandle: Pointer;
begin
szHost:='www.sait.ru';
szData:=pansichar('email=ololo@mail.ru&pass=mypass&submit=''');
hOpenHandle:=InternetOpen(nil, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

hConnectHandle:=InternetConnect(hOpenHandle, szHost, 80, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
hResourceHandle:=HttpOpenRequest(hConnectHandle, 'POST', '/login.php', nil, nil, nil,  INTERNET_FLAG_KEEP_CONNECTION, 0);
HttpSendRequest(hResourceHandle,  'Content-Type: application/x-www-form-urlencoded', 47, szData, lstrlen(szData));

InternetCloseHandle(hResourceHandle);
InternetCloseHandle(hConnectHandle);
InternetCloseHandle(hOpenHandle);
end;
 
Ответить с цитированием

  #9  
Старый 29.07.2009, 15:27
Аватар для [n]-c0der
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
Провел на форуме:
270228

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

Цитата:
Сообщение от eLWAux  
и на сокетах )
Код:
uses winsock

const hos = 'google.com';

function POST(URL,PACKET:string):string;
var
 req{,data} : string;
 buf      : array[0..1500] of char;
 wData    : WSADATA;
 addr     : sockaddr_in;
 sock     : integer;
 error    : integer;
 phe      : PHostEnt;
begin
 Result := '';
 WSAStartup($0101, wData);
 phe := gethostbyname(PChar(string(host)));
 if phe = nil then begin
    WSACleanup;
    exit;
 end;
 sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
 if sock = INVALID_SOCKET then begin
    WSACleanup;
    exit;
 end;
 addr.sin_family := AF_INET;
 addr.sin_port   := htons(80);
 addr.sin_addr   := PInAddr(phe.h_addr_list^)^;
 error := connect(sock, addr, sizeof(addr));
 if error = SOCKET_ERROR then begin
    closesocket(sock);
    WSACleanup;
    exit;
 end;
 req := PACKET;
 if Send(Sock,pointer(req)^,length(req),0)=SOCKET_ERROR then exit;
 fillchar(buf,sizeof(buf),0);
 recv(Sock,buf,10000,0);//sizeof(buf
 closesocket(Sock);
 result:=buf;
end;

function ePOST(URL,_POST:string):string;
var req:string;
begin
 req:='POST '+URL+' HTTP/1.1'#13#10+
      'Host: '+host+#13#10+
      'User-Agent: Opera/9.24 (Windows NT 5.1; U; en)'#13#10+
      'Accept: */*;q=0.1'#13#10+
      'Accept-Encoding: gzip,deflate'#13#10+
      'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'#13#10+
      'Connection: Keep-Alive'#13#10+
      'Referer: http://vkontakte.ru/index.php'#13#10+
      'Content-Length: '+inttostr(length(_POST))+#13#10+
      'Content-Type: application/x-www-form-urlencoded'#13#10#13#10+_POST;
  result:=POST(URL,req);
end;

ePOST('http://google.com','a=b&c=d&f=g&');
И нахер?
Придерживаясь твоего поста задам вопрос, зачем ты в браузере вводишь antichat.ru а не IP адрес античата)

Сокеты нужны там где они нужы.
 
Ответить с цитированием

  #10  
Старый 29.07.2009, 15:29
Аватар для [n]-c0der
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
Провел на форуме:
270228

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

Цитата:
Сообщение от Neo][acK  
На Wininet
Код:
var
hOpenHandle, hConnectHandle, hResourceHandle: Pointer;
begin
szHost:='www.sait.ru';
szData:=pansichar('email=ololo@mail.ru&pass=mypass&submit=''');
hOpenHandle:=InternetOpen(nil, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

hConnectHandle:=InternetConnect(hOpenHandle, szHost, 80, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
hResourceHandle:=HttpOpenRequest(hConnectHandle, 'POST', '/login.php', nil, nil, nil,  INTERNET_FLAG_KEEP_CONNECTION, 0);
HttpSendRequest(hResourceHandle,  'Content-Type: application/x-www-form-urlencoded', 47, szData, lstrlen(szData));

InternetCloseHandle(hResourceHandle);
InternetCloseHandle(hConnectHandle);
InternetCloseHandle(hOpenHandle);
end;

Ужасный код(

Научись красиво оформлять...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посимвольный перебор в базах данных на примере MySQL LoFFi Чужие Статьи 5 30.04.2007 05:05
Post запрос... RedBull@12 С/С++, C#, Delphi, .NET, Asm 4 06.12.2006 17:26
Коды состояния HTTP - Коды ошибок http сервера D=P=CH= MOD= *nix 6 15.10.2006 20:47
Post запрос vvs777 PHP, PERL, MySQL, JavaScript 5 10.11.2005 20:41
Внедрение Sql кода с завязанными глазами k00p3r Чужие Статьи 0 12.06.2005 20:48



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


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




ANTICHAT.XYZ