[Delphi] Zakładanie nowych kont gg

rafal

Były Moderator
Dołączył
Marzec 30, 2005
Posty
392
Witam :)
Mój dawnyyyy art opisujący sposób pobierania tokenów jak i zakładania nowych konta gadu - gadu , przy użyciu GGLite. Nie wiem czy opisywana tutaj metoda jeszcze funkcjonuje ale zawsze to jakaś podstawa do napisania , czegoś własnego . Życzę miłej lektury :)


1.Pobranie tokena :
1.1. Modyfikacja GGlite
w pierwszej kolejności należy zmodyfikować komponent GGlite o ile nie posiadamy wersji v0.17, w której jest już pobieranie tokena dostosowane do nowych kolorowych obrazków. A więc :
+ przechodzimy do folderu C:program FilesBorlandDelphi7Lib
+ otwieramy plik gglite.pas
+ znajdujemy funkcje function TGGLite.GGGenerateToken (var TokenId: string; var TokenVal: TStream):integer;
+ modyfikujemy całą funkcje bądź podmieniamy różniące sie wiersze :

Kod:
function TGGLite.GGGenerateToken(var TokenId:

string; var TokenVal: TStream):integer;

var

PostFields:TStrings;

ResponseMsg:string;

begin



result:=-1;



try

IdHTTP1.ProtocolVersion:=pv1_0;

IdHTTP1.Host:= 'register.gadu-gadu.pl';

IdHTTP1.Request.ContentType:='application/x-www-form-urlencoded';

IdHTTP1.Request.UserAgent:= HTTP_USER_AGENT;

IdHTTP1.Request.Pragma := 'no-cache';

PostFields:=TStringList.Create;

ResponseMsg:=IdHTTP1.Post('/appsvc/regtoken.asp',PostFields);

PostFields.Text:=ResponseMsg;

TokenId:=PostFields.Strings[1];

IdHTTP1.ProtocolVersion:=pv1_1;

IdHTTP1.Get('http://www.gadu-gadu.pl/register/regRndPict.php?tokenid='+TokenId,TokenVal);

// lub w przypadku gdyby kiedyś adres generatora tokenów miał sie zmienić

//IdHTTP1.Get(PostFields.Strings[2]+?tokenid='+TokenId,TokenVal);



result:=0;



except

end;



end;

tak z modyfikowany komponent GGlite jest gotowy do użycia :-]

1.2. Zaopatrzenie sie w komponent obsługujący pliki graficzne GIF Do pobrania : http://finn.mobilixnet.dk/delphi/gifimaged7c.zip

1.3. Wyświetlanie tokena
Przykładowy kodzik pokazujący jak pobrać prosto ze stream'a (wygenerowany token pobrany z www)

Kod:
uses gifimage, jpeg, gglite .....;

var

tokenid : string; //będzie nam potrzebny do założenia konta



procedure TForm1.Button1Click(Sender: TObject);

var

stream : tstream;

gif : tgifimage;

begin

image1.picture:=nil; //komponent TImage na który załadujemy nasz token

tokenid:='';

stream := tmemorystream.create;

gglite1.gggeneratetoken(tokenid, stream);

//wykorzystanie funkcji które w poprzednim punkcie modyfikowaliśmy

application.processmessages;

sleep(100);

if stream.size <> 0 then

begin

stream.seek (0, 0);

gif := tgifimage.create;

gif.loadfromstream(stream); //zamiana stream'a na gif

image1.picture.bitmap.assign(gif); //załadowanie gif'a (wygenerowanego tokena) do image'a, dzieki któremu będziemy mogli odczytać text z obrazka

application.processmessages;

gif.free;

stream.free;

end;

end;

Po kliknięciu na button naszym oczom powinien ukazać sie token, teraz można przejść do zakładania konta...

2. Zakładanie konta GG :
z tym nie powinno być problemu gdyż wystarczy dobrze uzupełnić pola niezbędne do utworzenia konta.

Kod:
procedure TForm1.Button2Click(Sender: TObject);

var

NewUIN: int;

haslo,email,tokentext : string;

begin

tokentext:='';

NewUIN:=0;

haslo:=Edit2.Text; //hasło do naszego konta

email:=Edit3.Text; //adres e-mail na który w razie zapomnienia hasła zostanie wysłane przypomnienie

tokentext:=Edit1.Text; //text odczytany z tokena

Application.ProcessMessages;

sleep(100);

gglite1.GGCreateNewAccount(haslo,email,TokenID,TokenText,NewUIN); //generowanie numeru

Label1.Caption:=inttostr(NewUIN); //załadowanie do labela wygenerowanego numeru GG

I w ten sposób zrobiliśmy prosty program do zakładania kont GG, oczywiście można zrobić to samo bez użycia komponentu GGLite, korzystając z samego IdHTTP, tyle ze przy okazji użycia komponentu GGlite można sprawdzić poprawność założenia konta (logując sie na nie).
 

mOrLuCk

Użytkownik
Dołączył
Luty 26, 2007
Posty
26
Świetny art, naprawde dla kogoś kto nie wie jak do tego się zabrać ten art pozwoli mu na napisanie w miare dobrego programu do zakładania kont. :]

Pozdrawiam mOrLuCk
 

rafal

Były Moderator
Dołączył
Marzec 30, 2005
Posty
392
nom tak, chociaz brakuje tam kilku bajerow, jak odswiezanie tokena, testowanie zalozonego konta itp. Moze w przyszlosci zaczne wrzucac zrodla moich programow, bo w sumie juz nigdzie ich nie publikuje, wiec przynajmniej inni to wykorzystaja
 

mOrLuCk

Użytkownik
Dołączył
Luty 26, 2007
Posty
26
MaSS GGLite jest płatny
<
Tak tylko podkreślam.

Pozdrawiam mOrLuCk
 

rafal

Były Moderator
Dołączył
Marzec 30, 2005
Posty
392
nom jest, ale ktos juz tu dawal linka do starszej wersji GGLite :)
 

Gandziorz

Użytkownik
Dołączył
Luty 5, 2005
Posty
114
Ok, niby wszystko ładnie. Wyświetla token ale po wysłaniu informacji zwraca pustą wartość NewUIN (0).
 

Dark Smark

Były Moderator
Dołączył
Kwiecień 29, 2006
Posty
1953
Originally posted by KangurX
Podajcie linka do GGLite do dzialajacego GGLite
smile.gif
[hide:8fa1f397b5]http://www.smark.yoyo.pl/download/gglite.rar
Własna odpowiedzialność za nielegalne posiadanie
<


Hide żeby google.pl nie indeksowały i sępy się nie zbierały tutaj[/hide:8fa1f397b5]


Jeżeli nie wnosisz nic do tematu nie zaglądaj...
 

DarkItachiPL

Użytkownik
Dołączył
Sierpień 16, 2007
Posty
58
Kurcze coś mam z generatorem tokenów bo mi zamiast prawidłowego kodu na obrazku pokazuje tylko takie coś jak tu:
regRndPict.php

Proszę o pomoc...
 

Logintar

Użytkownik
Dołączył
Czerwiec 29, 2008
Posty
3
Artykuł jest ciekawy, ale czy mógłby ktoś jeszcze podać działającego linka do komponentu GGlite ?
Z góry dziękuję
 
Do góry Bottom