Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2009, 20:32   #11
larin1974
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 34
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
wData:WSAData;
s:TSOCKET;
addr:sockaddr_in;
sendbuff:string;
PostData:string;
begin
 if WSAStartup(makeword(1,1),wData)<>0 then
  Begin
    ShowMessage('íåò íîñêîâ');
    exit;
  End;
 s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  FillChar(addr, SizeOf(sockaddr_in), 0);
  addr.sin_family:=AF_Inet;
  addr.sin_port:=htons(80);
  addr.sin_addr.S_addr:=inet_addr('95.131.27.20');
  Err(Connect(S,addr,SizeOf(TSockAddr)));

        sendbuff := '';
        sendbuff := 'GET / HTTP/1.1'+ #13#10 +
                    'Host: mirtesen.ru'+ #13#10 +
                    'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1'+ #13#10 +
                    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'+ #13#10 +
                    'Accept-Language: ru,en-us;q=0.7,en;q=0.3'+ #13#10 +
                    'Accept-Encoding: gzip,deflate'+ #13#10 +
                    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+ #13#10 +
                    'Keep-Alive: 300'+ #13#10 +
                    'Connection: keep-alive'+ #13#10 +
                    'Cookie: __utma=89864455.1090185553.1257150638.1257217813.1257255415.3; __utmz=89864455.1257150638.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=89864455; __utmc=89864455; mirtesen=pb268lmftgr6clsp3cg5eiqef2'+ #13#10 +
                    'Connection: close' + #13#10#13#10;

send(s, sendbuff[1] , Length(sendbuff), 0);
application.ProcessMessages;
recv(s,sBuff,5000,0);
application.ProcessMessages;
Memo2.Text:=sBuff;
  s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  FillChar(addr, SizeOf(sockaddr_in), 0);
  addr.sin_family:=AF_Inet;
  addr.sin_port:=htons(80);
  addr.sin_addr.S_addr:=inet_addr('95.131.27.20');
  Err(Connect(S,addr,SizeOf(TSockAddr)));
        PostData := '';
        PostData := 'auth%5Bbackurl%5D=http%3A%2F%2Fmirtesen.ru%2F&auth%5Blogin%5D=akpel%40yandex.ru&auth%5Bpassword%5D=505460&auth%5Bremember%5D=on' ;
        sendbuff := '';
        sendbuff := 'POST /login HTTP/1.1'+ #13#10 +
                    'Host: mirtesen.ru'+ #13#10 +
                    'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1'+ #13#10 +
                    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'+ #13#10 +
                    'Accept-Language: ru,en-us;q=0.7,en;q=0.3'+ #13#10 +
                    'Accept-Encoding: gzip,deflate'+ #13#10 +
                    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+ #13#10 +
                    'Keep-Alive: 300'+ #13#10 +
                    'Connection: keep-alive'+ #13#10 +
                    'Referer: http://mirtesen.ru/'+ #13#10 +
                    'Cookie: __utma=89864455.1090185553.1257150638.1257217813.1257255415.3; __utmz=89864455.1257150638.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=89864455; __utmc=89864455;'+CopyCookie('mirtesen',sBuff)+ #13#10 +
                    'Content-Type: application/x-www-form-urlencoded'+ #13#10 +
                    'Content-Length: ' + IntToStr(Length(PostData)) + #13#10#13#10 + PostData+#13#10+'Connection: close' + #13#10#13#10;
                     send(s, sendbuff[1] , Length(sendbuff), 0);
application.ProcessMessages;
recv(s,sBuff,5000,0);
application.ProcessMessages;
Memo1.Text:=sBuff;
hold:=CopyCookie('htold',sBuff);
told:=CopyCookie('told',sBuff);
mirtesen:=CopyCookie('mirtesen',sBuff);
  s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  FillChar(addr, SizeOf(sockaddr_in), 0);
  addr.sin_family:=AF_Inet;
  addr.sin_port:=htons(80);
  addr.sin_addr.S_addr:=inet_addr('95.131.27.20');
  Err(Connect(S,addr,SizeOf(TSockAddr)));
        sendbuff := '';
        sendbuff := 'GET / HTTP/1.1'+ #13#10 +
                    'Host: mirtesen.ru'+ #13#10 +
                    'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1'+ #13#10 +
                    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'+ #13#10 +
                    'Accept-Language: ru,en-us;q=0.7,en;q=0.3'+ #13#10 +
                    'Accept-Encoding: gzip,deflate'+ #13#10 +
                    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+ #13#10 +
                    'Keep-Alive: 300'+ #13#10 +
                    'Connection: keep-alive'+ #13#10 +
                    'Cookie: __utma=89864455.1090185553.1257150638.1257217813.1257255415.3; __utmz=89864455.1257150638.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=89864455; __utmc=89864455;'+mirtesen+'; '+hold+'; '+told + #13#10 +
                    'Connection: close' + #13#10#13#10;
send(s, sendbuff[1] , Length(sendbuff), 0);
application.ProcessMessages;
recv(s,sBuff,5000,0);
application.ProcessMessages;
Memo3.Text:=sBuff;
end;
end.
larin1974 вне форума Ответить с цитированием
Старый 03.11.2009, 20:33   #12
larin1974
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 34
По умолчанию

Вот начал писать код, вроде установил все куки, посылаю GET, и в этоги прихожу к первому гет запросу(((
larin1974 вне форума Ответить с цитированием
Старый 03.11.2009, 20:41   #13
larin1974
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 34
По умолчанию

Вроде нашел небольшую ошибку, чуть позже отпишусь
larin1974 вне форума Ответить с цитированием
Старый 04.11.2009, 19:08   #14
larin1974
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 34
По умолчанию

Так чет у меня ничего и не вышло((((((вроде два запроса верно идут, а последний запрос GET опять просит куки установить, возможно это дело в Conection:keep-alive, как правильно организовать редирект?Я заново создаю сокет.И есть кого мануал по winsock?
larin1974 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinSock Killbrum Win Api 1 18.10.2009 15:15
События WinSock telcomp Win Api 1 13.01.2009 09:26
Winsock не соединяет Da$aD Работа с сетью в Delphi 0 11.07.2008 22:57
Proxy в WinSock SHEI'TI Работа с сетью в Delphi 3 29.03.2008 18:27