Yahoo mail

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Yahoo mail

Mesaj gönderen Lord_Ares »

merhaba

formuma bir adet webbrowser , iki adet edit ve memo koydum. internet sayfaları gezerken aradığım konular hakkında bilgi üyesi olduğum sitede çıkıyor ve bağlanmam gerekiyor.

Örnek olarak yahoo. buraya post metodu kullanarak bağlanmam gerekli fakat bir türlü kullanıcı adımı ve şifremi post edemedim. buraya nasıl post edip webbrowserda sayfayı görüntüleyebilirim. formlarda olan post ile ilgili bir kaç örneğe baktım, denedim fakat bir türlü yapamadım.Bana yardımcı olabilirmisiniz.

Teşekkürler.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

İşlem aslında basit.


Edit1'e kullanıcı adını
Edit2'ye şifreni yaz sonra da buton içine aşağıdaki kodu uygula..

Kod: Tümünü seç

  WebBrowser1.Navigate( 'http://www.yahoo.com/r/m1');
  While WebBrowser1.ReadyState <> READYSTATE_Complete do
    Application.ProcessMessages;
  WebBrowser1.OleObject.Document.GetElementByID('Login').Value := Edit1.Text;
  WebBrowser1.OleObject.Document.GetElementByID('Passwd').Value := Edit2.Text;
  WebBrowser1.OleObject.Document.GetElementByID('.save').Click;
Resim
Resim ....Resim
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

Üstad güzel bilgi. teşekkürler
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Mesaj gönderen Lord_Ares »

hocam yazın için sağol fakat ben post komutu ile yapmak istiyorum. Post ile nasıl oluyor onu öğrenmek istiyorum.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Bu tip operasyonlar için ilk yapmanız gereken HTML içeriğini okumayı öğrenmektir. Bir siteye post işlemi yapıldığında perde arkasında neler dönüyor, ne tip parametreler gidiyor okuyabilmelisiniz.

- Bu okuma işlemini yaptığımızda karşımıza çıkan tablo aşağıdaki gibidir.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  PostDataString : string;
  PostData       : OleVariant;
  Headers        : OleVariant;
  i              : integer;
begin
  // Uses Httpapp
  PostDataString :=     '.done=http://mail.yahoo.com'
                + '&' + '.intl=us'
                + '&' + '.save=Sign In'
                + '&' + '.src=ym'
                + '&' + 'login='   + HTTPEncode( Edit1.Text )
                + '&' + 'passwd='  + HTTPEncode( Edit2.Text );

  PostData := VarArrayCreate([0, length(PostDataString)-1], varByte);
  for i := 1 to length(PostDataString) do
    PostData[i-1] := ord(PostDataString[i]);

  Headers := 'Content-type: application/x-www-form-urlencoded'#10#13;
  WebBrowser1.Navigate('https://login.yahoo.com/config/login',
                       EmptyParam, EmptyParam, PostData, Headers);
end;
- Afiyet olsun.. :wink:
Resim
Resim ....Resim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Mesaj gönderen Lord_Ares »

hocam ok çalışıyor. fakat ben bunu başka sitelerde de uygulamaya kalkarsam nelere dikkat etmem gerekli mesela şunu açıklarsan

+ '&' + '.intl=us'
+ '&' + '.save=Sign In'
+ '&' + '.src=ym'
+ '&' + 'login=' + HTTPEncode( Edit1.Text )
+ '&' + 'passwd=' + HTTPEncode( Edit2.Text );

Burda sayfadaki ( login, passwd) aldığın derğerler , id' simi name mi bana bunu biraz açıklayabilirmisin. Çıkamadım içinden :)
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

"html parse" anahtar kelimeleri ile arama yaparak başlayabilirsin... 8)

- HTML yapısını ve uygulamak istediğin sayfaların html kaynak kodlarını incelemelisin. Bir siteye erişim yaptığın sırada Internet Explorer adres çubuğundaki değişimi incelemelisin.

- Bunları kavradığınızda her siteye delphi ile sorgu yapabilir, cevapları ayıklayıp yazılımınızda kullanabilirsiniz. Başarılar...
Resim
Resim ....Resim
Kullanıcı avatarı
Z.D.
Üye
Mesajlar: 104
Kayıt: 01 Nis 2006 01:48
Konum: İstanbul

Mesaj gönderen Z.D. »

Ek olarak, mesela get-post ile çalışan bir sayfadaki değişkenleri görmek için Firefox'un UrlParams diye bir eklentisi var.
https://addons.mozilla.org/en-US/firefox/addon/1290

Resim

ayrıca biliyosunuzdur değerleri get-post ederken httpencode yapmakta yarar var.

Kod: Tümünü seç

function HTTPEncode(const AStr: string): string;
const
  NoConversion = ['A'..'Z', 'a'..'z', '*', '@', '.', '_', '-'];
var
  Sp, Rp: PChar;
begin
  SetLength(Result, Length(AStr) * 3);
  Sp := PChar(AStr);
  Rp := PChar(Result);
  while Sp^ <> #0 do
  begin
    if Sp^ in NoConversion then
      Rp^ := Sp^
    else if Sp^ = ' ' then
      Rp^ := '+'
    else
    begin
      FormatBuf(Rp^, 3, '%%%.2x', 6, [Ord(Sp^)]);
      Inc(Rp, 2);
    end;
    Inc(Rp);
    Inc(Sp);
  end;
  SetLength(Result, Rp - PChar(Result));
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := HTTPEncode(Edit1.Text);
end;
ve en son ek olarak @mrmarman hocanın belirttiklerini iyi kavrayıp, pratik yaptıktan sonra bu tür dinamik yapılar için Pascal Script kullanmak çok mantıklıdır.
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Mesaj gönderen Lord_Ares »

arkadaşlar teşekkürler güzel bilgiler vermişsiniz. baya işime yaradı. biraz daha araştırma yapıp

Format('http://www.istanbulbarosu.org.tr/Login. ... %s&LType=1'


şua olayı çözersem sanırım sizlerin sayesinde istediğimi başarmış olucam.
yanlış anlamayın verdiğiniz kodlar istediğimi yapıyor fakat ben biraz neyi neden oraya yazdım gibi meraklıyım tam anlayıp kullanmak istiyorum.
yinede HTML Parse olayında bana verebileceğiniz bilgi kaynak varsa açığım dört gözle bekliyorum :)

Teşekkürler
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

DelphiTürkiye RSS (türevi)
viewtopic.php?t=18498 linkine bir göz at istersen. Kaynak kodları da mevcut olan bir projedir...
Resim
Resim ....Resim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Mesaj gönderen Lord_Ares »

Evet hocam şuan onu indirdim ona bakıyordum süper bişey
Cevapla