IdHTTP1.Post ile ilgili

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
MoSoft
Üye
Mesajlar: 80
Kayıt: 10 Nis 2005 10:45
Konum: Askerden....
İletişim:

IdHTTP1.Post ile ilgili

Mesaj gönderen MoSoft »

http://aofsinav.anadolu.edu.tr/guncel_not.asp bu sayfadaki verilere ulaşmaya çalışıyorum. kimlik nosunu girip. post metodu ile 15-20 değişik kombinasyon denedim forumdaki bütün kodları yabancı sitelerden de aldım bir kaç kod bir türlü işin içinden çıkamadım. Mesela aynı kodla başka sitede üye girşi bile yaapbiliyorum acaba web sitesinin korumasımı var. Serverın dışından gelen komutları kabulmu etmiyor ? Bazı kodlarda 302 ile ilgili bir hata verdi. Sayfanın olmadığını değiştiğini söyleyen bir hata. Hatayı dinleyerek için kaynağına inmeye çalıştığımda formun yine http://aofsinav.anadolu.edu.tr/guncel_not.asp buraya gönderildiğini söylüyor yani hata yok gibi duruyor. Sanırım asp kodların içine gelen formu başka bir sayfaya daha gönderip yeniden ekrana getirtiyor bu kodlarda html olmadığı için program ile erişemedim diye düşünüyorum. Yada :) ben ilk defa idhttp ile ilgilendiğim için yanlışlıklar yapmış olabilirim.
Şafak 300 ( 10.04.2005) dü artık Yok....

http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: IdHTTP1.Post ile ilgili

Mesaj gönderen mkysoft »

öncelikle biraz html ve asp öğrenip kendi kendinize basit bir forum yapın, bunun üzerinden post işlemlerinizi deneyin. aof şifrem olmadığından güvenliği varmıdır bileyeceğim, büyük ihtimal vardır.
session tutuyor olabilir, cokie olabilir, hidden değerler olabilir, v.s.
Kullanıcı avatarı
MoSoft
Üye
Mesajlar: 80
Kayıt: 10 Nis 2005 10:45
Konum: Askerden....
İletişim:

Re: IdHTTP1.Post ile ilgili

Mesaj gönderen MoSoft »

Cevabınız için teşekkür ederim. İlk mesajımda belirtmiştim diğer sitelere giriş yapabiliyorum. En basiti aşağıdaki kodla sadece şifre isteyen bir siteye giriş yapabiliyorum. Bu cookie yada session ları nasıl kontrol edebilirim bunun la ilgili makale yada elinde dökümanı olan paylaşırsa sevinirim.

var
strData: string;
PostData: OleVariant;
Headers: OleVariant;
i: Integer;
begin
strData := 'sifre=' + HTTPEncode('sifre');
PostData := VarArrayCreate([0, Length(strData) - 1], varByte);
for i := 1 to Length(strData) do
PostData[i-1] := Ord(strData);
Headers := 'Content-Type: application/x-www-form-urlencoded' + #10#13;
WebBrowser1.Navigate('http://www.sigteadi.com/giris.asp', EmptyParam, EmptyParam, PostData, Headers);
end;
Şafak 300 ( 10.04.2005) dü artık Yok....

http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: IdHTTP1.Post ile ilgili

Mesaj gönderen mrmarman »

Kolay gelsin.

Cookies ve/veya session ile uğraşmana gerek yok. Windows bunu senin için zaten yapıyor. :idea:

İşlem göreceli olarak basit aslında. Forumda da bir sürü örneğini verdik. Senin için bir Function altında işlemi topladım. Bu başlık ekine projenin kaynak kodu ve EXE halini içeren RAR paketini de ekledim. Aşağıda kod özeti göreceksiniz. Tahmin edeceğin üzere Forma eklenen bir WebBrowser bu işi üstleniyor. Gelen HTML kodunu alıp string parse metodu ile içinden güncel linkleri alıyoruz ve bir değişken grubuna atıyoruz. Daha sonra dilediğin yerde kullanıyorsun.

Hata kontrolü yapmadım. Etüd projedir, devamını getireceksin. TCNosu, şifresi yanlış ise gelen sayfaya göre şerbet hazırlamalısın.
Başarılar.

Kod: Tümünü seç

Type tNotlarURL = Record
     GecerliDonem,
     GecmisDonem : String;
End;

Var
  xIslemBitti : Boolean;
  xNotlar     : tNotlarURL;

implementation

{$R *.dfm}

Function AOFLogin( TCNo, Pass : String; WebBrowser:TWebBrowser ): tNotlarURL;
Const
  buroUrl = 'https://aofburo.anadolu.edu.tr/job1.htm';
Var
  Gelen, Ara, URL : String;
begin
  ZeroMemory(@result, Sizeof(result));
  WebBrowser.Navigate(buroUrl);
  while WebBrowser.ReadyState <> ReadyState_Complete
    do Application.ProcessMessages;
  WebBrowser.OleObject.Document.GetElementByID('userno').Value := TcNo;
  WebBrowser.OleObject.Document.GetElementByID('pass').Value := Pass;
  xIslemBitti := False;
  WebBrowser.OleObject.Document.GetElementByID('login').Click;
  while NOT xIslemBitti do Application.ProcessMessages;

  Gelen := WebBrowser.OleObject.Document.Body.InnerHtml;
  Ara := 'Öğrenim Durumu';
  System.Delete(Gelen, 1, Pos(Ara, Gelen) + Length(Ara)-1);
  Ara := '<A href="';
  System.Delete(Gelen, 1, Pos(Ara, Gelen) + Length(Ara)-1);
  URL := Copy(Gelen, 1, Pos('"', Gelen)-1);
  result.GecerliDonem := 'https://aofburo.anadolu.edu.tr/'+URL;

  Ara := '<A href="';
  System.Delete(Gelen, 1, Pos(Ara, Gelen) + Length(Ara)-1);
  URL := Copy(Gelen, 1, Pos('"', Gelen)-1);
  result.GecmisDonem := 'https://aofburo.anadolu.edu.tr/'+URL;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  BitBtn2.Enabled := False;
  BitBtn3.Enabled := False;
  xNotlar := AOFLogin( Edit1.text, Edit2.Text, WebBrowser1 );
  BitBtn2.Enabled := True;
  BitBtn3.Enabled := True;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  WebBrowser1.Navigate( xNotlar.GecerliDonem );
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
  WebBrowser1.Navigate( xNotlar.GecmisDonem );
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.Text := '';
  Edit2.Text := '';
end;

procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  xIslemBitti := True;
end;

Dosya ekleri
AOFNotlar.rar
(210.12 KiB) 183 kere indirildi
Resim
Resim ....Resim
Kullanıcı avatarı
MoSoft
Üye
Mesajlar: 80
Kayıt: 10 Nis 2005 10:45
Konum: Askerden....
İletişim:

Re: IdHTTP1.Post ile ilgili

Mesaj gönderen MoSoft »

sağol mrmarman güzel örnek bir çok kişininde işine yarayacaktır. Benim yapmaya çalıştığım post metodu ile senin yaptığın form doldurarak yollama arasında çalışma bakımından ne gibi farklar var. Mantık olarak düşünüldüğünde ikisi de aynı işi yapıyor.

Ve bu cookieleri yada sesionların bulamıyor muyuz acaba webbrowser1 sayesinde ?
Şafak 300 ( 10.04.2005) dü artık Yok....

http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Re: IdHTTP1.Post ile ilgili

Mesaj gönderen Jire »

Bulduğun örnekleri paylaşırmısın? Ben de bakmak istiyorum da :D .
Kullanıcı avatarı
MoSoft
Üye
Mesajlar: 80
Kayıt: 10 Nis 2005 10:45
Konum: Askerden....
İletişim:

Re: IdHTTP1.Post ile ilgili

Mesaj gönderen MoSoft »

http://www.google.com.tr/search?hl=tr&r ... =&aq=f&oq= bu arama sonucunda bir çok konu ve örnek çıkıyor.
Şafak 300 ( 10.04.2005) dü artık Yok....

http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
Cevapla