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

13.02.2010, 20:46
|
|
Новичок
Регистрация: 20.09.2009
Сообщений: 5
Провел на форуме: 3308
Репутация:
0
|
|
Delphi - http post через winsock
Всем привет, пишу программу для логина на сайте. Но проблема в двух вещах :
1. я очень плохо знаю винсок (кучу примеров скачивал но их очень трудно разобрать)
2. Нужно отправить сразу два http post запроса на два разных url (192.168.1.48/login.php и 192.168.1.48/auth.php, такая там мудренная система логина через ajax)
Пока получилось на локальном компьютере лишь это :
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:TSocket;
Ws:TWSAData;
addr:sockaddr_in;
se,re:ansistring;
login:string;
buf: array[1..5000] of Char;
begin
Memo1.Lines.Add('Подкл. WinSock');
if WSAStartup($101,Ws)=-1 then
begin
Memo1.Lines.Add('-Ошибка');
exit;
end
else
begin
Memo1.Lines.Add('-Ок');
end;
Memo1.Lines.Add('Создание сокета');
s:=socket(af_inet, sock_stream, 0);
if s=-1 then
begin
Memo1.Lines.Add('-Ошибка');
exit;
end
else
begin
Memo1.Lines.Add('-Ок');
end;
addr.sin_family:=af_inet;
addr.sin_port:=htons(80);
addr.sin_addr.S_addr:=inet_addr('127.0.0.1');
Memo1.Lines.Add('Установка связи с хостом');
if connect(s,addr,sizeof(addr))=-1 then
begin
Memo1.Lines.Add('-Ошибка');
closesocket(s);
exit;
end
else
begin
Memo1.Lines.Add('-Ок');
end;
login:='SAVEURL=&SERVER=1&account=111&pass=222&submit=%C2%EE%E9%F2%E8';
se:=memo3.text+#13#10+#13#10;
CopyMemory(@buf, PChar(se), Length(se));
send(s,buf,SizeOf(buf),0);
recv(s,buf,SizeOf(buf),0);
re:=buf;
Memo2.Text:=re;
closesocket(s);
end;
Как видно на скриншоте, сервер не понимает мой запрос. Запрос брал из firefox'а через аддон httpfox
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|