Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: возникли проблемы про написании проги для автоматической регистрации на blog.ru  (Прочитано 11301 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« : 09-07-2010 07:00 » 

набросал прогу для авторегера на блог.ру но вот сталкнулся с такой проблемой: пост запрос уходит снифер пишет в (Status-Line) 200 ок на аккаунт не регестрируеться!!после пост запроса в переменную возвращает исходную страничку регестрации!!что не так подскажите??
вот код проги (она крепко не доделана ногами не пинать!!):

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP, jpeg, IdCookieManager;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Memo2: TMemo;
    Memo3: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    Image1: TImage;
    Button3: TButton;
    IdHTTP1: TIdHTTP;
    regestration: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Memo4: TMemo;
    IdCookieManager1: TIdCookieManager;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure regestrationClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  inet:string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.LoadFromFile('d:\temp\delphi\Projects\blogru\acc.txt');
end;

//procedure TForm1.Button2Click(Sender: TObject);
//var
  //str :string;
  //s,bb,i,b: integer;
//begin
//c:=memo1.Lines[i];
//for i to n do
  //begin

//label1.Caption:=str;
  //  end;
procedure TForm1.Button2Click(Sender: TObject);
var
a,a1,a2: string;
i,s,etc:integer;
begin
 // For s:=0 to  Memo2.Lines.Count-1 do
  //   ShowMessage(IntToStr(Integer(@i)));
  etc:=0;
      for i:=0 to etc do
        begin
          a:= memo1.Lines[i];
          a1:= Copy(a,1,Pos(':',a)-1);
          a2:= copy (a,Pos(':',a)+1,20);
          memo2.Text:=a1;
          memo3.Text:=a2;
          memo2.Lines.SaveToFile('File1.txt');
          memo3.Lines.SaveToFile('File2.txt');
        end;
end;
//procedure TForm1.IdCookieManager1Create(ASender: TObject;
 // ACookieCollection: TIdCookies);
//begin
  //IdCookieManager1.CookieCollection.Clear;
  //memo4.Text:= IdHTTP1.Get('http://blog.ru/registration/step1');
//end;

procedure TForm1.Button3Click(Sender: TObject);
var FS:TFileStream;
begin
  IdCookieManager1.CookieCollection.Clear;
  //memo4.Text:=Idhttp1.Get('http://blog.ru/registration/step1/submit');
  //memo4.Lines.SaveToFile('file3.txt');
 //=IdHTTP1.Get('http://blog.ru/registration/step1?backurl=http%3A%2F%2Fblog.ru%2F');
 FS:=TFileStream.Create('captcha.jpg',FMCreate);
 IdHTTP1.Get('http://blog.ru/inc/captcha/image.php', FS);
 FS.Free;
 Image1.Picture.LoadFromFile('captcha.jpg');
end;

procedure TForm1.regestrationClick(Sender: TObject);
var
  Data:TStringList;
    begin
       Data:=TStringList.Create;
       Data.Add('user_data[nick]='+edit1.Text);
       Data.Add('user_data[email]='+memo2.Text);
       Data.Add('user_data[password]='+memo3.Text);
       Data.Add('user_data[password_confirm]='+memo3.Text);
       Data.Add('user_data[sex]=female');
       Data.Add('user_data[ code]='+Edit2.Text);
       Data.Add('user_data[agreement]=1');
       inet:=IdHTTP1.Post('http://blog.ru/registration/step1', Data);
       memo4.Text:=inet;
       memo4.Lines.SaveToFile('file3.txt');


    end;
end.
« Последнее редактирование: 09-07-2010 07:02 от RXL » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 09-07-2010 07:02 » 

maloy_ya, вредительской деятельностью занимаемся?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #2 : 09-07-2010 07:26 » 

да какая там вредительская!!ну мож немного Улыбаюсь вечно мои блоги банят замучался вручную создавать!вот хочу облегчить себе жизнь...
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #3 : 09-07-2010 10:51 » 

maloy_ya, А выбрать другой сервис, где твоё мировозрение полностью соответсвует мировозрению админа?
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #4 : 10-07-2010 15:22 » 

maloy_ya, А выбрать другой сервис, где твоё мировозрение полностью соответсвует мировозрению админа?

на данный момент это уже дело принцыпа!! или они меня или я их!! Улыбаюсь
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 10-07-2010 17:05 » new

maloy_ya, как видишь, никто не рвется помогать тебе в этом деле.
Найди мирное применение своим стремлениям! На худой конец, создай свой сайт и пиши на нем что угодно.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #6 : 11-07-2010 12:11 » 

да я уже это понял!!!!ну и ладненько еще парачку деньков и я домучаю её!!
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #7 : 12-07-2010 13:24 » 

RXL, Finch, он всё равно капчу руками вводит.

maloy_ya, с вероятностью 90% у IdHTTP1 HandleRedirects = FALSE (дефолтовое значение). соответственно, авторизация проходит, сниффер показывает, что всё пучком, а редирект после авторизации, выбрасывающий юзера на сам блог, не обрабатывается.
Записан

maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #8 : 15-07-2010 21:48 » 

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

Код:
function TForm1.KD_RegBlogRu(IdHTTP : TIdHTTP; Image: TImage; i:integer): Boolean;
var
  sl : TStringList;
  jpg : TJPEGImage;
  ms : TMemoryStream;
  c, res, domain : string;
  id, key, zapros : string;
 // FS:TFileStream;
begin
  domain:='mail';
  sl := TStringList.Create;
  jpg := TJPEGImage.Create;
  ms := TMemoryStream.Create;
  IdHTTP.Get('http://blog.ru/registration/step1');
  c := IdHTTP.Response.RawHeaders.Values['Set-Cookie'];
  c := Copy(c,1,Pos(';',c));
  IdHTTP.Request.CustomHeaders.Add('Cookie: '+c);
  IdHTTP.Get('http://blog.ru/inc/captcha/image.php',ms);
  ms.Seek(0,0);
  jpg.LoadFromStream(ms);
  ms.Free;
  Image.Picture.Assign(jpg);
  Image.Width := jpg.Width;
  Image.Height := jpg.Height;
  jpg.SaveToFile('captcha.jpg');
  jpg.Free;
  sl.Add('user_data[nick]=' + memo4.Lines[i]);
  sl.Add('user_data[email]=' + memo2.lines[i]);
  sl.Add('user_data[password]=' + memo3.Lines[i]);
  sl.Add('user_data[password_confirm]=' + memo3.lines[i]);
  sl.Add('user_data[sex]=female');
  sl.Add('user_data[code]='+ recognize(filenameedit.Text,apikeyedit.Text,false,false,false,0,0)); //InputBox('Eai?a', 'Aaaaeoa oaeno n eai?e', ''));
  sl.Add('ih-service-name=&ih-username=&ih-password=&service-name=&username=&password=');
  sl.Add('user_data[agreement]=1');
  IdHTTP.HandleRedirects := True;
  res:=IdHTTP.Post('http://blog.ru/registration/step1/submit',sl);
  {if pos('logout', res)<>0 then
      label2.Caption:='неcoздано'+memo2.Lines[i]
     else
      label2.Caption:='создано'+memo2.Lines[i]; }
  sl.Free;
  //memo1.Text:=res;
  //memo1.Lines.SaveToFile('File2.txt');
  memo5.Lines.LoadFromFile('for event.txt');
  //IdHTTP.Get('http://blog.ru/post_insert_form');
  //IdHTTP.HandleRedirects := True;
  zapros:=IdHTTP.Get('http://blog.ru/login?%3A%2F%2Fblog.ru%2Fpost_insert_form&login=' +memo7.lines[i]+ '%40' + domain + '&password=' + memo3.Lines[i] + '&remember=on&authorize.x=0&authorize.y=0');
  c:= IdHTTP.Response.RawHeaders.Values['Set-Cookie'];
  c := Copy(c,1,Pos(';',c));
  IdHTTP.Request.CustomHeaders.Add('Cookie: '+c);
  memo6.lines.Add(zapros);
  memo6.Lines.SaveToFile('File1');
  id:=Pars('id="id_blog" value="',zapros,'"');
  memo_id.Text:=id;
  memo_id.Lines.SaveToFile('id.txt');

теперь вот мучаю регестрацию блога как это видно по последним 10 строкам кода но пока без результатно!!мож тут добрые люди помогут?? Улыбаюсь[/code]
« Последнее редактирование: 15-07-2010 21:50 от maloy_ya » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines