Yorumları: 1.660
Konuları: 20
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 18.981 Üstad
28-05-2018, Saat: 19:58
(Son Düzenleme: 28-05-2018, Saat: 20:53, Düzenleyen: mrmarman.)
(27-05-2018, Saat: 22:54)Paranoyaq Adlı Kullanıcıdan Alıntı: DoLogin('Kullaniciadim', 'sifrem');
memo1.Lines.add(idhttp1.Get('http://www.delphican.com/index.php'));
şeklinde butona atıp memo içerisindeki ziyaretçi yada kullanıcı adımın geçtiği kısımları tarıyorum , olumsuz.
Fonksiyon RESULT içeriğini gözden kaçırmayın.
Mantığı şöyle kurmalısınız.
Memo1.Lines.add( DoLogin('Kullaniciadim', 'sifrem') );
Diğer yandan eğer sitede gezinmeye devam edecekseniz ve bir cookiemanager kullanmayı düşünmüyorsanız, IdHttp'yi fonksiyon içinde Create / Free etmeyecek, dışarı alacaksınız.
Anlatımı güçlendirmek için size bir örnek.
Uses IdHttp, StrUtils;
Var
IdHttp : TIdHttp;
boolLogged : Boolean = False;
function DoLogin(const username, password: string; var Logged:Boolean): string;
var
Request: TStringList;
begin
Result := '';
try
Request := TStringList.Create;
try
Request.Add('action=do_login');
Request.Add('url=http://www.delphican.com/index.php');
Request.Add('quick_login=1');
Request.Add('quick_username='+username);
Request.Add('quick_password='+password);
Request.Add('quick_remember=yes');
Request.Add('submit=Giriş Yap');
if NOT Assigned( IdHttp ) then
begin
IdHTTP := TIdHTTP.Create;
IdHTTP.AllowCookies := True;
IdHTTP.HandleRedirects := True;
IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
end;
IdHTTP.Post('http://www.delphican.com/member.php', Request);
Result := IdHTTP.Get('http://www.delphican.com');
// Oturum aktif mi ... kontrolü
Logged := not StrUtils.ContainsStr(Result, 'quick_login');
finally
Request.Free;
end;
except
Result := '';
end;
end;
function UserControlPanel( var Logged: boolean ): String;
begin
if Logged then
begin
Result := IdHttp.Get( 'http://www.delphican.com/usercp.php' );
// Oturum [halen] aktif mi ... kontrolü
Logged := not StrUtils.ContainsStr(Result, 'quick_login');
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
strIcerik : String;
begin
if not boolLogged
then DoLogin( 'kullaniciadim', 'sifrem', boolLogged );
strIcerik := UserControlPanel( boolLogged );
if boolLogged
then Memo1.Lines.Add( strIcerik )
else MessageDlg( 'Oturumunuz aktif değidir.', mtError, [mbOk], 0 );
end;
//.......
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Assigned(IdHttp)
then FreeAndNil( IdHttp );
end;
Saygılarımla
Muharrem ARMAN
Yorumları: 219
Konuları: 46
Kayıt Tarihi: 16-03-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 273 Acemi
28-05-2018, Saat: 22:08
(Son Düzenleme: 29-05-2018, Saat: 22:11, Düzenleyen: quiet1day.)
(28-05-2018, Saat: 19:58)mrmarman Adlı Kullanıcıdan Alıntı: (27-05-2018, Saat: 22:54)Paranoyaq Adlı Kullanıcıdan Alıntı: DoLogin('Kullaniciadim', 'sifrem');
memo1.Lines.add(idhttp1.Get('http://www.delphican.com/index.php'));
şeklinde butona atıp memo içerisindeki ziyaretçi yada kullanıcı adımın geçtiği kısımları tarıyorum , olumsuz.
Fonksiyon RESULT içeriğini gözden kaçırmayın.
Mantığı şöyle kurmalısınız.
Memo1.Lines.add( DoLogin('Kullaniciadim', 'sifrem') );
Diğer yandan eğer sitede gezinmeye devam edecekseniz ve bir cookiemanager kullanmayı düşünmüyorsanız, IdHttp'yi fonksiyon içinde Create / Free etmeyecek, dışarı alacaksınız.
Anlatımı güçlendirmek için size bir örnek.
Uses IdHttp, StrUtils;
Var
IdHttp : TIdHttp;
boolLogged : Boolean = False;
function DoLogin(const username, password: string; var Logged:Boolean): string;
var
Request: TStringList;
begin
Result := '';
try
Request := TStringList.Create;
try
Request.Add('action=do_login');
Request.Add('url=http://www.delphican.com/index.php');
Request.Add('quick_login=1');
Request.Add('quick_username='+username);
Request.Add('quick_password='+password);
Request.Add('quick_remember=yes');
Request.Add('submit=Giriş Yap');
if NOT Assigned( IdHttp ) then
begin
IdHTTP := TIdHTTP.Create;
IdHTTP.AllowCookies := True;
IdHTTP.HandleRedirects := True;
IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
end;
IdHTTP.Post('http://www.delphican.com/member.php', Request);
Result := IdHTTP.Get('http://www.delphican.com');
// Oturum aktif mi ... kontrolü
Logged := not StrUtils.ContainsStr(Result, 'quick_login');
finally
Request.Free;
end;
except
Result := '';
end;
end;
function UserControlPanel( var Logged: boolean ): String;
begin
if Logged then
begin
Result := IdHttp.Get( 'http://www.delphican.com/usercp.php' );
// Oturum [halen] aktif mi ... kontrolü
Logged := not StrUtils.ContainsStr(Result, 'quick_login');
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
strIcerik : String;
begin
if not boolLogged
then DoLogin( 'kullaniciadim', 'sifrem', boolLogged );
strIcerik := UserControlPanel( boolLogged );
if boolLogged
then Memo1.Lines.Add( strIcerik )
else MessageDlg( 'Oturumunuz aktif değidir.', mtError, [mbOk], 0 );
end;
//.......
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Assigned(IdHttp)
then FreeAndNil( IdHttp );
end;
Teşekkür ediyorum yardımlar için ayrıca
Oturum Aktif olması kısmında kullanıcı adı ve şifreyi editlere aktararak
var
strIcerik : String;
begin
if not boolLogged
then DoLogin( edit1.text, edit2.text, boolLogged );
strIcerik := UserControlPanel( boolLogged );
MessageDlg( 'Oturumunuz aktif ', mtConfirmation, [mbOk], 0 );
if boolLogged
then Memo1.Lines.Add( strIcerik )
else MessageDlg( 'Oturumunuz aktif değidir.', mtError, [mbOk], 0 );
Yorumları: 225
Konuları: 41
Kayıt Tarihi: 10-11-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 392 Acemi
07-01-2019, Saat: 20:29
(Son Düzenleme: 07-01-2019, Saat: 20:30, Düzenleyen: CesuR.)
Emeğinize sağlık fakat bu makalenin görünürlüğünde sorun var sanırım. Paylaşmış olduğunuz kod yapısında html ifadeler görünüyor. Bilginiz olsun istedim.
Örneğin (function Do<span class="highlight" style)..
Birde konuda Action yerine Rel kullanıldıysa aynı kullanım mümkün mü farklı bir yapımı kullanılıyor. Aşağıdaki yapıda post edeceğim herhangi bir sayfa adresi yok.
Örnek
<form id="form" method="post" rel="loginme">
Yorumları: 225
Konuları: 41
Kayıt Tarihi: 10-11-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 392 Acemi
(08-01-2019, Saat: 04:05)okoca Adlı Kullanıcıdan Alıntı: chrome opera vs webbrowserda sayafaya sağ tıkla öğeyi denetle ye tıkla, oradan network tabına geç,
geçtiğin tabda preserve log a tıkla (bu işlem sayfa adresi değiştiğinde aşağıdaki listenin silinmemesini sağlayacak),
sonrasında delphican formunda bir sayfaya bir mesaj gir ve cevabı gönderde,
network tabında aşağıda listelenecek olan istekler sunucuya giden istekler olacaktır,
biraz incelersen kendi yazdığın yorumun hangi adrese hangi parametre ile gittiğinide görebilirsin,
sunucununda ne cevap verdiğini görebilirsin,
Bilgi için teşekkürler, dediğiniz şekilde aderesi yakaladım, fakat daha büyük bir sorun çıktı idhttp.get ajax ile üretilen bilgileri almıyor. Bir memorystream değişken tanımlayıp çekmeyi denedim sonuç aynı. Örnek sayfada class adı ACT olan div içindeki bilgi ajax ile 5 saniyede bir yenileniyor. Bunu idhttp get ile almaya kalktığınızda bu bilgi gelmiyor.
Yorumları: 653
Konuları: 68
Kayıt Tarihi: 24-01-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 885 Acemi
29-01-2019, Saat: 16:39
(Son Düzenleme: 29-01-2019, Saat: 16:41, Düzenleyen: Bay_Y.)
Çok teşekkür Ederim benimde merak ettiğim bir konu idi , detaylı anlatım ve örnekleme için ayrıca teşekkürler.
(28-05-2018, Saat: 19:58)mrmarman Adlı Kullanıcıdan Alıntı: (27-05-2018, Saat: 22:54)Paranoyaq Adlı Kullanıcıdan Alıntı: DoLogin('Kullaniciadim', 'sifrem');
memo1.Lines.add(idhttp1.Get('http://www.delphican.com/index.php'));
şeklinde butona atıp memo içerisindeki ziyaretçi yada kullanıcı adımın geçtiği kısımları tarıyorum , olumsuz.
Fonksiyon RESULT içeriğini gözden kaçırmayın.
Mantığı şöyle kurmalısınız.
Memo1.Lines.add( DoLogin('Kullaniciadim', 'sifrem') );
Diğer yandan eğer sitede gezinmeye devam edecekseniz ve bir cookiemanager kullanmayı düşünmüyorsanız, IdHttp'yi fonksiyon içinde Create / Free etmeyecek, dışarı alacaksınız.
Anlatımı güçlendirmek için size bir örnek.
Uses IdHttp, StrUtils;
Var
IdHttp : TIdHttp;
boolLogged : Boolean = False;
function DoLogin(const username, password: string; var Logged:Boolean): string;
var
Request: TStringList;
begin
Result := '';
try
Request := TStringList.Create;
try
Request.Add('action=do_login');
Request.Add('url=http://www.delphican.com/index.php');
Request.Add('quick_login=1');
Request.Add('quick_username='+username);
Request.Add('quick_password='+password);
Request.Add('quick_remember=yes');
Request.Add('submit=Giriş Yap');
if NOT Assigned( IdHttp ) then
begin
IdHTTP := TIdHTTP.Create;
IdHTTP.AllowCookies := True;
IdHTTP.HandleRedirects := True;
IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
end;
IdHTTP.Post('http://www.delphican.com/member.php', Request);
Result := IdHTTP.Get('http://www.delphican.com');
// Oturum aktif mi ... kontrolü
Logged := not StrUtils.ContainsStr(Result, 'quick_login');
finally
Request.Free;
end;
except
Result := '';
end;
end;
function UserControlPanel( var Logged: boolean ): String;
begin
if Logged then
begin
Result := IdHttp.Get( 'http://www.delphican.com/usercp.php' );
// Oturum [halen] aktif mi ... kontrolü
Logged := not StrUtils.ContainsStr(Result, 'quick_login');
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
strIcerik : String;
begin
if not boolLogged
then DoLogin( 'kullaniciadim', 'sifrem', boolLogged );
strIcerik := UserControlPanel( boolLogged );
if boolLogged
then Memo1.Lines.Add( strIcerik )
else MessageDlg( 'Oturumunuz aktif değidir.', mtError, [mbOk], 0 );
end;
//.......
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Assigned(IdHttp)
then FreeAndNil( IdHttp );
end;
Çok teşekkürler ,
Yorumları: 152
Konuları: 11
Kayıt Tarihi: 04-08-2016
Rep Puanı: 333 Acemi
Merhaba. Mobilde siteye indy bileşeni ile https://www.thingspeak.com adresine üyeliğim ile giriş yapmak istiyorum. Deneme yanılma ile yol almaya çalışıyorum. Ilgili site form action kısmından url yi nasil alabilirim? Url yi bulamadim? Webbrowser ile cok kisitlamalar ile karsilastim.Baştan yanlış yol izliyorsam mobilde login için nasil bir yol izlemeliyim? Teşekkürler.
<form action="/pages/contact_us?method=post" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="pYwLKIf/pURlZm177rOqHX5XGsXTnI+EjTk4ujq7DUMTLFIRYA0k9VxEnGjKHjALs9bHptiE54vVLFMwlEJCDQ==" />
<input type='text' id='userlogin_js' name='userlogin_js' class='userlogin' />
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">Contact Us</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label class="control-label">Email Address</label>
<div><input type="text" name="email" id="email" class="form-control" /></div>
|