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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2009, 19:20   #1
AquaKlaster
Delphi,Python,PHP
Форумчанин
 
Аватар для AquaKlaster
 
Регистрация: 04.04.2009
Сообщений: 138
По умолчанию Проблеммы с авторизацией на сайте и с капчёй!

Вот пытаюсь написать регер асек через bigmir.net
Вот собственно код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdIOHandler, IdIOHandlerSocket, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls, IdSSLOpenSSL,
  IdServerIOHandler, ExtCtrls, XPMan, pngimage, IdIOHandlerStack, IdSSL;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    EditLogin: TEdit;
    EditPass: TEdit;
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    XPManifest1: TXPManifest;
    GroupBox2: TGroupBox;
    Image1: TImage;
    Edit1: TEdit;
    Button2: TButton;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function Pars(T_, ForS, _T: string): string;
var
  a, b: integer;
begin
  Result := '';
  if (T_ = '') or (ForS = '') or (_T = '') then
    Exit;
  a := Pos(T_, ForS);
  if a = 0 then Exit else a := a + Length(T_);
  ForS := Copy(ForS, a, Length(ForS)-a+1);
  b := Pos(_T, ForS);
  if b > 0 then
    Result := Copy(ForS, 1, b-1);
end;

procedure ShowImg(Url: string; Img: TImage);
  var
    M: TMemoryStream;
    http: TIdHttp;
    jpg: Tpngimage;
  begin
    M := TMemoryStream.Create;
    http := TIdHttp.Create(nil);
    jpg := Tpngimage.Create;
    try
      http.Get(URL, M);
      M.Position := 0;
      jpg.LoadFromStream(M);
      Img.Picture.Graphic := jpg;
    finally
      M.Free;
      http.Free;
      jpg.Free;
    end;
  end;

procedure TForm1.Button1Click(Sender: TObject);
var s:TStringList;
begin
s:=TStringList.Create;
s.Add('url=/icq');
s.Add('pid=2');
s.Add('login='+EditLogin.Text);
s.Add('pass='+EditPass.Text);
s.Add('auth_type=1');
s.Add('subm=1');
try
idHTTP1.Post('https://global.bigmir.net/auth',s);
finally
s.Free;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var s1:string;
sslkanakartinku:string;
begin
s1:=idHTTP1.Get('http://passport.bigmir.net/icq/');
sleep(500);
sslkanakartinku:= pars( 'img src="',s1, '"><br>');
edit1.Text:=sslkanakartinku;
end;
end.
Пытаюсь вывести пропарсеную ссылку капчи в Edit1 но что то не выходит!
Подскажите плиз! И прозьба модератора Квэнди не удалять данный топик! Спс зарание!
AquaKlaster вне форума Ответить с цитированием
Старый 15.05.2009, 00:45   #2
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

У тебя точно приходит страница _http://passport.bigmir.net/icq/ , а то перенаправление на адрес /login/?url=%2Ficq (_http://passport.bigmir.net/loginform/?url=%2Ficq) и никакой капчи там нет ...

Ну а если страница точно нужная , то перед строчкой pars( 'img src="',s1, '"><br>') удали весь html до Введите цифры, расположенные справа и обязательно проверяй наличие строчки .png в результате

Последний раз редактировалось Виталий Серов; 15.05.2009 в 00:51.
Виталий Серов вне форума Ответить с цитированием
Старый 15.05.2009, 18:17   #3
AquaKlaster
Delphi,Python,PHP
Форумчанин
 
Аватар для AquaKlaster
 
Регистрация: 04.04.2009
Сообщений: 138
По умолчанию

в том то и дело что я не знаю приходит ли страница http://passport.bigmir.net/icq или у меня вобще не проходит авторизацию!
Больше всего наверно у меня проблеммы с авторизацией!
AquaKlaster вне форума Ответить с цитированием
Старый 16.05.2009, 00:15   #4
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

Просто сохрани s1 в фаил(index.html например) и посмотри что там тебе приходит
или обрабытывай событие onRedirect - оно происходит если нет авторизации
Что бы подсматривать за куками брось на форму Куки Менеджер

Последний раз редактировалось Виталий Серов; 16.05.2009 в 00:20.
Виталий Серов вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с авторизацией через IdHttp ]Wowan[ Работа с сетью в Delphi 13 20.01.2011 02:42
Проблемы с авторизацией на форуме MaTBeu О форуме и сайтах клуба 3 28.01.2009 16:30
WinSock Проблеммы с получением AngelOfDeath Работа с сетью в Delphi 2 19.01.2009 02:30
Проблеммы с массивом Almost_Famous Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 21.04.2008 21:25