IDHtpp İle Post Olayı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Caqatay
Üye
Mesajlar: 68
Kayıt: 13 May 2009 07:52

IDHtpp İle Post Olayı

Mesaj gönderen Caqatay »

Merhaba iyi günler epey bi kurcalamama rağmen IDHtpp ile forma nasıl veri gönderilir post edilir çözemedim.
Formdaki elemanların ID lerini aldım.WebBrowser bileşeni ile forma aşağıdaki kod vasıtası ile veri gönderebiliyorum fakat zor - yavaş oluyor .

Kod: Tümünü seç

WebBrowser1.OleObject.Document.GetElementByID('author').Value:=Edit1.Text;
WebBrowser1.OleObject.Document.GetElementByID('email').Value:=Edit2.Text+'@'+Edit5.Text;
WebBrowser1.OleObject.Document.GetElementByID('url').Value:=Edit3.Text;
WebBrowser1.OleObject.Document.GetElementByID('comment').Value:=Memo1.Text;
WebBrowser1.OleObject.Document.GetElementByID('submit').click   ;
IDHttp ile yapmak istiyorum örnekleri inceledim fakat nasıl yapacağıma dair bi fikir edinemedim.

Elamanların IDleri :
[*][/b] " author "
[*] [/b]" email "
[*][/b] " url "
[*][/b] " comment "
[*][/b] gönder butonu ise " submit "

Sayfanın Kodu Ektedir.
Sayfa Kodu.rar
(16.4 KiB) 88 kere indirildi
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: IDHtpp İle Post Olayı

Mesaj gönderen varyemez »

procedure TForm1.Button1Click(Sender: TObject);
var
sonuc: string;
IdHTTP1: TIdHTTP;
Stream: TMemoryStream;
StrStream: TStringStream;
MForm: TIdMultiPartFormDataStream;
begin
idhttp1:=TIDHttp.Create;
try

MForm:= TIdMultiPartFormDataStream.Create;
stream:=tmemorystream.Create;

MForm.AddFormField('cardno',EdCC.Text);
MForm.AddFormField('expmonth',stray);
........ diğer dorm alanları
.........
MForm.Position:=0;

idhttp1.HandleRedirects:=true;
idhttp1.Request.ContentType:= 'text/xml';

sonuc:=IdHTTP1.Post('http://www.adres.com/formusayfasi.php',Mform);

posttan sonra gelenler sonuc stringine alınır , kullanırsın istediğin yerde
Caqatay
Üye
Mesajlar: 68
Kayıt: 13 May 2009 07:52

Re: IDHtpp İle Post Olayı

Mesaj gönderen Caqatay »

yapamadım malesef MForm: TIdMultiPartFormDataStream;da hata verdi.
Caqatay
Üye
Mesajlar: 68
Kayıt: 13 May 2009 07:52

Re: IDHtpp İle Post Olayı

Mesaj gönderen Caqatay »

Olmuyor malesef yapamıyorum elinde hazır örneği olan yok mu arkadaşlar
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: IDHtpp İle Post Olayı

Mesaj gönderen varyemez »

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP,idMultipartformdata, idglobalprotocols;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Memo1: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Button1: TButton;
    Memo2: TMemo;
    IdHTTP1: TIdHTTP;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
sonuc: string;
Stream: TMemoryStream;
StrStream: TStringStream;
MForm: TIdMultiPartFormDataStream;

begin
idhttp1:=TIDHttp.Create;
try
MForm:= TIdMultiPartFormDataStream.Create;
stream:=tmemorystream.Create;

MForm.AddFormField('author',Edit1.Text);
MForm.AddFormField('email',edit2.Text);
Mform.addformfield('url',Edit3.Text);
Mform.AddFormField('comment',memo1.Text);
MForm.Position:=0;
idhttp1.HandleRedirects:=true;
idhttp1.Request.ContentType:= 'text/xml';

sonuc:=idhttp1.Post('http://blog.connexum.es/wp-comments-post.php',Mform);
finally
mform.Free;
idhttp1.Free;
end;
memo2.Text:=sonuc;

end;

end.

Yalnız posqt ettiğin adreste ne olduğunu bilmiyoruz. server dışardan gelen postlara karşı kapalı olabilir. Bildiğin kendi websitende dene önce bu kodları. Bende sorunsuz çalışıyor.
Caqatay
Üye
Mesajlar: 68
Kayıt: 13 May 2009 07:52

Re: IDHtpp İle Post Olayı

Mesaj gönderen Caqatay »

Hocam ilginiz - alakanız için çok çok teşekkür ediyorum fakat hala bir noktada takılmış durumdayım hata vermekte çok çok teşekkürler tekrardan..

Resim
Caqatay
Üye
Mesajlar: 68
Kayıt: 13 May 2009 07:52

Re: IDHtpp İle Post Olayı

Mesaj gönderen Caqatay »

http://carolsoft.org.ua:81/Install/Prog ... 20Demo/D7/

adresinden eksik dediği dosyayı buldum attım o dosyayı geçti başka dosya eksik dedi onu buldum onu geçti başka dosyayı eksik diyo neyi atsam yeni eksik bi dosya çıkarıyor :D :D
Caqatay
Üye
Mesajlar: 68
Kayıt: 13 May 2009 07:52

Re: IDHtpp İle Post Olayı

Mesaj gönderen Caqatay »

Caqatay yazdı:http://carolsoft.org.ua:81/Install/Prog ... 20Demo/D7/

adresinden eksik dediği dosyayı buldum attım o dosyayı geçti başka dosya eksik dedi onu buldum onu geçti başka dosyayı eksik diyo neyi atsam yeni eksik bi dosya çıkarıyor :D :D

delphi 7 kullanıyorum ondan kaynaklanıyor olabilirmi acaba..
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: IDHtpp İle Post Olayı

Mesaj gönderen vkamadan »

Merhaba ,
viewtopic.php?t=12025&highlight=vergi+kimlik burada vergi no sorgulaması yapmak için idHTTP ile post örneği bulabilirsiniz.
Volkan KAMADAN
www.polisoft.com.tr
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: IDHtpp İle Post Olayı

Mesaj gönderen neu84 »

arkadaşlar yeni konu açmak istemedim, acaba indy komponenti ile ilgili bu idhttp yi ve diğer elemanlarının kullanımını anlatan güzel bir kaynak var mı bildiginiz?
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: IDHtpp İle Post Olayı

Mesaj gönderen varyemez »

@caqatay , ben Delphi 2010 ile yazdım onu. Bir de o blogu post ettiğin yerde hidden alanlar var onları da post formuna dahil etmelisin. ben sadece senin yazdığın alanları koydum
Caqatay
Üye
Mesajlar: 68
Kayıt: 13 May 2009 07:52

Re: IDHtpp İle Post Olayı

Mesaj gönderen Caqatay »

delphi 7 için indy 10 bileşenini kurdum ve yine verdiğiniz kod blogunu çalıştıramadım hocam.

şimdi delphi 2010 u indirip kurucam onunla deneyeceğim.
Caqatay
Üye
Mesajlar: 68
Kayıt: 13 May 2009 07:52

Re: IDHtpp İle Post Olayı

Mesaj gönderen Caqatay »

varyemez bende delphi 2010 u kurdum verdiğiniz kodları çalıştırdım proje çalışıyor fakat butona bastıgımda 404 hatası veriyorm malesef bu sefer
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: IDHtpp İle Post Olayı

Mesaj gönderen varyemez »

Hidden alanları da ekledin değil mi..
Hata veriyor ama bu arada post işlemi de gerçekleşiyor. ben denedim post etti. fazla da agressif olmak istemiyorum yabancı bir site çünkü.


MForm.AddFormField('author',Edit1.Text);
MForm.AddFormField('email',edit2.Text);
Mform.addformfield('url',Edit3.Text);
Mform.AddFormField('comment',memo1.Text);
Mform.addformfield('comment_post_ID','119');
Mform.AddFormField('comment_parent','0');
Caqatay
Üye
Mesajlar: 68
Kayıt: 13 May 2009 07:52

Re: IDHtpp İle Post Olayı

Mesaj gönderen Caqatay »

hidden alanlar hakkında bir bilgim yok hocam
Cevapla