Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Программа для авторизации на сайте и выполнения действии

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Программа для авторизации на сайте и выполнения действии
Имя
Сообщение << Старые топики   Новые топики >>
Программа для авторизации на сайте и выполнения действии - 2010-09-07 13:14:01.883333   
castrol

Сообщений: 2
Оценки: 0
Присоединился: 2010-09-07 13:00:04.166666
Вот задался целью написать программу для авторизации на сайте.
Нашел пример с описанием но он у меня не хочет работать.
Все компилируетя, но при нажатии на кнопку, только то что вижу, то что Memo почистились, больше ничего не происходит.
Вот сам код.
unit Unit11111; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, httpsend; type TForm1 = class(TForm) pnl1: TPanel; edit3: TEdit; edit1: TEdit; edit2: TEdit; Memo1: TMemo; btn1: TButton; lbl1: TLabel; lbl2: TLabel; lbl3: TLabel; Memo2: TMemo; procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; function KOI8R2ANSI(S: string): string; implementation {$R *.dfm} procedure TForm1.btn1Click(Sender: TObject); function GetLocation(const headers:TStringList):string; var i:integer; begin for I := 0 to headers.Count - 1 do if pos('Location: ',headers[i])&gt;0 then begin Result:=copy(headers[i],10,length(headers[i])-9); break; end; end; var stream: TStringStream; httpsend: THTTPSend; begin Memo1.Clear; Memo2.Clear; stream:=TStringStream.Create(''); stream.WriteString('wizard_domain2=&auid=&htid=&;action=1&login='+Edit1.Text+'&passwd='+Edit2.Text); httpsend:=THTTPSend.Create; httpsend.MimeType:='application/x-www-form-urlencoded'; httpsend.Document.LoadFromStream(stream); if httpsend.HTTPMethod('post','https://partner.r01.ru/?' ) then begin Memo2.Lines.Add('Отправка запроса. Ответ сервера'); Memo2.Lines.Add('-----Cokies-----'); Memo2.Lines.add(httpsend.Cookies.Text); Memo2.Lines.Add('-----Headers-----'); Memo2.Lines.add(httpsend.Headers.Text); if httpsend.ResultCode=302 then begin if pos('/AB/about_abonent.kHТМL',GetLocation(httpsend.Headers))&gt;0 then begin httpsend.Document.Clear; httpsend.Headers.Clear; httpsend.HTTPMethod('get','https://partner.r01.ru/AB/about_abonent.kHТМL'); httpsend.Document.SaveToStream(stream); Memo1.Lines.Add(KOI8R2ANSI(stream.DataString)); end else Memo1.Lines.Add('Авторизация не удалась') end else Memo1.Lines.Add('Авторизация не удалась') end; end; function KOI8R2ANSI(S: string): string; var Ansi_CODE, KOI8_CODE: string; i: integer; begin KOI8_CODE := 'бвчздецъйклмнопртуфхжигюыэящшьасБВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС—Ј'; ANSI_CODE := 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ё'; Result := S; for i := 1 to Length(Result) do if Pos(Result[i], KOI8_CODE) &gt; 0 then Result[i] := ANSI_CODE[Pos(Result[i], KOI8_CODE)]; end; end.
Вот ссылка на статью http://www.webdelphi.ru/2010/01/synapse-avtorizaciya-na-sajte-rabota-s-https/
Post #: 1
RE: Программа для авторизации на сайте и выполнения действии - 2010-09-07 14:19:45.393333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Во-первых есть тэги code Для оформления кода.
Во-вторых: где конкретный вопрос?

Ты что, предлагаешь всем кинуться читать статью, ставить дэлфи и разбираться, что там и как?
Post #: 2
RE: Программа для авторизации на сайте и выполнения действии - 2010-09-07 15:15:23.610000   
hromjo_forever

Сообщений: 119
Оценки: 0
Присоединился: 2010-08-02 12:45:32.986666
Посылай POST запрос(или GET который можно отснифать) на странице с формой авторизации, в ответ сервер должен отдать кукиксы, прикрепляй их к остальным запросам и всё.
Post #: 3
RE: Программа для авторизации на сайте и выполнения действии - 2010-09-07 15:51:43.630000   
castrol

Сообщений: 2
Оценки: 0
Присоединился: 2010-09-07 13:00:04.166666

quote:

ORIGINAL: _SaZ_

Во-первых есть тэги code Для оформления кода.
Во-вторых: где конкретный вопрос?

Ты что, предлагаешь всем кинуться читать статью, ставить дэлфи и разбираться, что там и как?

Отредактировал пост.
У меня в мемо ниче не отображается, только при нажатии вижу что оно чистится т.е.
работает до этого момента
begin Memo1.Clear; Memo2.Clear; Наверно дальше ошибка где-то или неправильно запрос сделан.
Post #: 4
RE: Программа для авторизации на сайте и выполнения действии - 2010-09-07 17:45:56.830000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Пробовал пошаговую отладку, снифферы? Если нет - вперёд гуглить, что это такое и за дело.
Post #: 5
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Программа для авторизации на сайте и выполнения действии







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.