Прохожу регестрацию на m.mail.ru в делфи, проснифил все, вроде правильно все посылаю, но чтото не хочет регестрировать, в ответ приходит: Вот код: PHP: function captcha:string; Var m,m1,m2,p,p1,p2,r,r1,r2, t:integer; Resp:WideString ; num,n1,n2,n3,n4:string; ff2:textfile; stream:TMemoryStream; jpeg:TJPEGImage; Source : string; begin Resp:=form1.IdHTTP1.get('http://m.mail.ru/cgi-bin/signup'); form1.memo1.Text:=Resp; form1.memo1.Lines.SaveToFile('1.html'); assignfile(ff2,'1.html'); reset(ff2); while not eof (ff2) do begin readln(ff2,num); if pos('<img src="x_image?',num)<>0 then begin n1:=num; readln(ff2,num); n2:=num; readln(ff2,num); n3:=num; m:=pos('src=',n1); delete(n1,1,m+4); p:=pos('"',n1) ; r:=length(n1); delete(n1,p,r); form1.edit5.Text:=n1; m1:=pos('src=',n2); delete(n2,1,m1+4); p1:=pos('"',n2) ; r1:=length(n2); delete(n2,p1,r1); form1.edit6.Text:=n2; m2:=pos('src=',n3); delete(n3,1,m2+4); p2:=pos('"',n3) ; r2:=length(n3); delete(n3,p2,r2); form1.edit7.Text:=n3; n4:=n3; t:=pos('reg_id=',n4) ; delete(n4,1,t+6); form1.edit8.Text:=n4; stream:=TMemoryStream.Create(); form1.IdHTTP1.Request.ContentRangeEnd:=9999999; form1.IdHTTP1.Get('http://m.mail.ru/cgi-bin/'+form1.edit5.text,stream); stream.Position:=0; jpeg:=TJPEGImage.Create(); jpeg.LoadFromStream(stream); form1.Image1.Picture.Bitmap.Assign(jpeg); jpeg.Free(); stream.Free(); stream:=TMemoryStream.Create(); form1.IdHTTP1.Request.ContentRangeEnd:=9999999; form1.IdHTTP1.Get('http://m.mail.ru/cgi-bin/'+form1.edit6.text,stream); stream.Position:=0; jpeg:=TJPEGImage.Create(); jpeg.LoadFromStream(stream); form1.Image2.Picture.Bitmap.Assign(jpeg); jpeg.Free(); stream.Free(); stream:=TMemoryStream.Create(); form1.IdHTTP1.Request.ContentRangeEnd:=9999999; form1.IdHTTP1.Get('http://m.mail.ru/cgi-bin/'+form1.edit7.text,stream); stream.Position:=0; jpeg:=TJPEGImage.Create(); jpeg.LoadFromStream(stream); form1.Image3.Picture.Bitmap.Assign(jpeg); jpeg.Free(); stream.Free(); end; end; closefile(ff2); end; procedure TForm1.Button1Click(Sender: TObject); Var Params:TStringList; Responseres:WideString ; f:integer; begin Params:= TStringList.Create; Params.Add('x_1b01e8a1d5a67160='+edit1.text); Params.Add('RegistrationDomain=mail.ru'); Params.Add('x_aa8c8b34a42b4bcc='+edit2.text); Params.Add('x_cb73515f4d61adbc='+edit2.text); Params.Add('Password_Question=Девичья фамилия матери'); Params.Add('x_d0f81a59399dfb6a=blablabla'); Params.Add('x_eb3c3fc6ce8422a9=Андрей'); Params.Add('x_9a300ba3309d1aad=Кирилов'); Params.Add('x_c0437112ecdd5875=16'); Params.Add('BirthMonth=6'); Params.Add('x_1363e09ebd57c2ec=1993'); Params.Add('x_4dca56b27970c40d=1'); Params.Add('x_52fd1f18fbd7911a='+edit3.text); Params.Add('x_reg_id='+edit8.text); Params.Add('security_image_id='); Responseres:=IdHTTP1.Post('http://m.mail.ru/cgi-bin/reg?',Params); Memo1.Text:=Responseres; Params.free; end; procedure TForm1.FormCreate(Sender: TObject); begin captcha; end; Подскажите где ошибка
Твой код плохой даже по внешнему виду. Либо переучивайся писать, или жди пока тебе новый напишут. Сомневаюсь что кто -то будет разбираться в твоем коде.
Code: x_1b01e8a1d5a67160 x_aa8c8b34a42b4bcc x_cb73515f4d61adbc x_d0f81a59399dfb6a x_eb3c3fc6ce8422a9 x_9a300ba3309d1aad x_c0437112ecdd5875 x_1363e09ebd57c2ec x_4dca56b27970c40d x_52fd1f18fbd7911a Эти параметры не статичные, а генерируются при загрузке страницы. <offtop>Судя по коду ты извращенец.</offtop>
Да тут все параметры парсить нужно )) Я вот как раз 3 дня назад решил просто http://e.mail.ru/cgi-bin/signup пропарсить и зарегать чисто спортивный интерес вот там прикольно а тут все проще в разы ! про wap разумные вещи тебе советуют !