Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
TWebView ile Web Sitesindeki Herhangi Bir Nesneye Ulaşım Yada Cookie [ÇÖZÜLDÜ]
#1
Question 
Merhaba,

Amaç
Arkadaşlar bir web sitem var. 
TwebBrowser ile login sayfasına giriyorum. (Web sayfası mobile uyumlu).
Asıl amacım giriş başarılı ise kullanıcıyı hatırlamak,  ini dosyasına kayıt etmek. 

Denenenler
1-TwebBrowser üzerinde bir şeye ulaşmayı araştırdım sonuç alamadım.
2-TwebBrowser ile giriş başarılı ise, web tarafında bir cookie oluşturur kulllanıcı adını, şifresini criptolu yazdırırım. cookie alırım diye düşündüm. IdHttp ve IdCookieManager ile giriş yaptığımda cookie almayı başardım ama işime yaramadı.
3-Textlere alıyım sonra login sayfasına post edeyim, hata donerse webBrowserden kayıt etmeyim dedim burada ise web sayfasını yüklemede  mesela bir hata aldığında girişe bastığında login sayfası yüklenip oraya post etmem gerekecek kod akışı durmuyor, bir de hata aldığında ne hatası aldığını bilemiyorum oda olmadı,
4-WebBrowser ile cookie ilişkilendiriyim dedim oda olmadı.

Sorun
Açılan web sayfasında her hangi bir nesneyi alabileceğim bir yöntem yada işimi görebilecek bir yöntem bilen var mı?
Belki çözüm basittir ama bulamadım.

NOT: 
Asıl amacım kullanıcı bilgilerini kaydettikten sonra remote push natification için uygulamayı yapıyorum. .net tarafına token ve device Id ve platformu nu post edip kayıt edip. Gerekli kişilere bildirimi iletmek.

Şimdiden teşekkürler
Cevapla
#2
Belki işinize yarayabilir:
TWebBrowser'ın OnBeforeNavigate2 olayında Post edilen datalara, başlıklara(headers) vs. ulaşabilirsiniz. Login başarılı ise bunları kullanırsınız.

Not: OnBeforeNavigate2, VCL için var ama FMX'te var mı bilmiyorum Sad
There's no place like 127.0.0.1
WWW
Cevapla
#3
(21-02-2018, Saat: 12:48)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBelki işinize yarayabilir:
TWebBrowser'ın OnBeforeNavigate2 olayında Post edilen datalara, başlıklara(headers) vs. ulaşabilirsiniz. Login başarılı ise bunları kullanırsınız.

Not: OnBeforeNavigate2, VCL için var ama FMX'te var mı bilmiyorum Sad

Malesef hocam. Öyle bir event yok. Teşekkür ederim tavsiyeniz için. çözümü buldum sonunda.

ÇÖZÜM :
Firemonkey tarafında webBrowserden nesnelere ulaşmanın tek yolu bu şekilde heralde.

1-Sayfa yüklenince yada yeni sayfaya geçeceginde JavaScript getElementById ile değerlerini alıyoruz.
2-Bunları bir değişkene atıyoruz.
3-Gene JavaScript tarafında kendimiz bir URL belirliyoruz , değişkeni bu URL in sonuna ekliyoruz.
4-Js tarafında sayfası bu URL e yönlendiriyoruz.
5-Sayfa yükleneceğin o URL i bulup değişkenleri alıyoruz, sayfayı tekrar gideceği yere yönlendiriyoruz.

Örneğin: 

uses

IdURI, IdGlobal;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SuccessLogin := 0;
  self.WebBrowser1.Navigate ('http://LOGIN_SAYFASI');
end;

procedure TForm1.WebBrowser1ShouldStartLoadWithRequest(ASender: TObject; const URL: string);
var
 jsonStr: String;
 js : string;
begin

 if (SuccessLogin = 1) then
   begin
     if (Pos('abcdefghjklnjkvbh', URL) > 1) then
       begin
         jsonStr := URL; //DEGISKENLERI ALALIM
         jsonStr := TIdURI.URLDecode(jsonStr, IndyTextEncoding_UTF8);
         self.Memo1.Lines.Text := jsonStr;

         //TEKRAR YÖNLENDİRELİM
         js := 'window.location.href = "GIDILMESI_GEREKEN_URL ";';
         WebBrowser1.EvaluateJavaScript(js);

         SuccessLogin := 2;
       end;

   end;

 if (Pos('index.php', URL) > 1) and (SuccessLogin = 0)then
   begin
     //URL+DEGISKEN
     js := 'var markup = document.getElementById("Kullanici").value+document.getElementById("Sifre").value;'
           + #13 + #10
           + 'var newURL = "http://abcdefghjklnjkvbh/" + markup;'
           + #13 + #10 +
           'window.location = newURL;';
     self.WebBrowser1.EvaluateJavaScript(js);
     SuccessLogin := 1;
   end;
end;
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [Çözüldü] FireBase (FCM) Push Notification mesajı gelmiyor Fesih ARSLAN 17 598 24-04-2018, Saat: 12:56
Son Yorum: mrmarman
Information Status Bar Android [ÇÖZÜLDÜ] malitutuncu 8 458 27-02-2018, Saat: 09:23
Son Yorum: malitutuncu
  Push Natification hata (Tokyo ve Seattle) [ÇÖZÜLDÜ] malitutuncu 7 396 19-02-2018, Saat: 13:59
Son Yorum: malitutuncu
  Edit renklendirilince proje hiç açılmadan kapanıyor[Çözüldü] hakanharbeli 4 297 03-02-2018, Saat: 18:54
Son Yorum: hakanharbeli
  Uygulama linki paylaşma sorunu [ÇÖZÜLDÜ] codder71 2 236 30-01-2018, Saat: 23:38
Son Yorum: codder71



Konuyu Okuyanlar: 1 Ziyaretçi