php post etmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

php post etmek

Mesaj gönderen erdogan_ozkaya »

arkadaşlar aşağıdaki php dosyası çalışıyor,

bunu delphide nasıl post yaparım ?

Kod: Tümünü seç

<meta http-equiv="Content-Type" content="text/html; charset=windows-1254" />
<form name="form1" method="post" action="http://xxxxx.com/fax_post.php" enctype="multipart/form-data" id="form1">
  <table width="30%" border="1" align="center" cellpadding="1" cellspacing="1" bordercolor="#ADB6D6" style="border-collapse:collapse; ">
    <tr align="left">
      <td colspan="2" align="center">
		<input type="file" name="dosya">
	  </td>
    </tr>
    <tr align="left">
      <td colspan="2" align="center"><input name="username" type="text" id="username" value="Kullanıcı Adınız" /></td>
    </tr>
    <tr align="left">
      <td colspan="2" align="center"><input name="password" type="text" id="password" value="Şifreniz" /></td>
    </tr>
    <tr align="left">
      <td colspan="2" align="center"><input name="telefon" type="text" id="telefon" value="Telefon" /></td>
    </tr>
    <tr align="left">
      <td colspan="2" align="center"><input  type="text" name="startdate" id="startdate" />
      (Startdate)
  </td>
    </tr>
    <tr align="left">
      <td colspan="2" align="center"><input  type="text" name="stopdate" id="stopdate" />
(Stoptade) </td>
    </tr>
    <tr align="left">
      <td colspan="2" align="center">
		<input type="submit" name="submit" value="Gönder">
	  </td>
    </tr>
  </table>
</form>

Kod: Tümünü seç

http://xxxxcom/fax_post.php sayfasına post etmeniz gereken değişkenler aşağıdaki gibidir.
Alan Adı	Boyut	Tip	Açıklama
dosya	file	string	Yüklemek istediğiniz dosya 
username	Max.25	string	Netgsm sistemine giriş yapmak için kullandığınız kullanıcı adı
password	Max.25	string	 Netgsm sistemine giris yapmak için kullandığınız şifre
telefon	 Max.12	integer	Mesajın gönderileceği gsm numarasıdır. 11 hanedir. Örn: 05051234567
startdate	Max.12	date	Mesajın gönderilmeye başlanacağı tarih(ggaayyyyssdd) 
* Boş bırakılırsa mesajınız hemen gider.
stopdate	Max.12	date	Mesajın geçerlilik süresinin bittiği tarih(ggaayyyyssdd) 
* Boş bırakılırsa mesajın bitiş zamanı sistem tarafından belirlenir.
 
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: php post etmek

Mesaj gönderen Battosai »

"idhttp.post" anahtar kelimesi ile arama yapın google da....
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: php post etmek

Mesaj gönderen erdogan_ozkaya »

malesef örnek birşey yoktur :(
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: php post etmek

Mesaj gönderen mrmarman »

Merhaba.

- Öyle bir şey yoktur nereden çıktı ?! incelik yapıp @Battosai bir cevap yazmış, araştırdınız da mı yapamadınız ?! Buna ilişkin iki satır bir şey yazsaydınız :?

- Bu sayfayı ne ile okuyorsunuz, WebBrowser, Indy, WinInet ile direkt veya bir başka application veya Explorer penceresinden mi çekiyorsunuz... hangisi... :?: :?: :?:
Resim
Resim ....Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: php post etmek

Mesaj gönderen mrmarman »

Tekrar ben,

- HTML içeriğinden URL'yi silmişsin ama (nedenini hala anlamadım, "Netgsm sistemine giriş yapmak için kullandığınız kullanıcı adı" vs. yazmışsın aşağıda...) :lol: sana örnek iki kod hazırladım.. Birisi WebBrowser ile birisi de IdHttp ile (hani olmaz dediğin, hala anlamadım neden olmaz dediğini)

- IdHttp'de sadece parametreleri post edeceksin o kadar. Karşı taraf senden bu PHP içeriğini neden istesin ki ?! Neyse uzatmadan yazayım.. :roll:

Kod: Tümünü seç

Function Post_WebBrowser( WebBrowser:TWebBrowser; username, password, telefon, startdate, stopdate:String ):String;
Var
  WebForm : IHtmlFormElement; // Uses MSHTML
begin
  With WebBrowser do
  begin
    Navigate( ExtractFilePath(Forms.Application.Exename) + 'fax_user.php' );
    while ReadyState <> READYSTATE_COMPLETE do
    begin
      Sleep(1);
      Forms.Application.ProcessMessages;
    end;
    Oleobject.Document.GetElementByID('username').Value  := 'UserName';
    Oleobject.Document.GetElementByID('password').Value  := 'Password';
    Oleobject.Document.GetElementByID('telefon').Value   := 'TelefonNo';
    Oleobject.Document.GetElementByID('startdate').Value := 'ggaayyyy';
    Oleobject.Document.GetElementByID('stopdate').Value  := 'ggaayyyy';
    Oleobject.Document.GetElementByID('stopdate').Value  := 'ggaayyyy';
    WebForm := ((Document as IHTMLDocument3).getElementById('form1') as IHtmlFormElement);
    WebForm.Submit();
    while WebBrowser.LocationURL <> 'http://api.netgsm.com.tr/fax_post.php' do
    begin
      Sleep(1);
      Forms.Application.ProcessMessages;
    end;
    Result := WebBrowser.OleObject.Document.Body.InnerHtml;
  end;
end;

Kod: Tümünü seç

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Memo1.Lines.Text := Post_WebBrowser( WebBrowser1, 'username', 'password', 'telefonno', 'ggaayyyy', 'ggaayyyy' );
end;

Kod: Tümünü seç

Function Post_IdHttp( IdHttp:TIdHttp; username, password, telefon, startdate, stopdate:String ):String;
Const
  aURL = 'http://api.netgsm.com.tr/fax_post.php';
Var
  Params    : TStringList;
begin
  Params    := TStringList.Create;
  With IdHttp do
  begin
    // eklenmesi istenen parametre varsa
    // UserAgent vs.
    // Request.ContentType :=
    // Request.UserAgent :=
    Request.URL := aURL;
    HandleRedirects := True;
    RedirectMaximum := 15;
    Params.Add('username=' + username );
    Params.Add('password=' + password );
    Params.Add('telefon='  + telefon  );
    Params.Add('startdate='+ startdate);
    Params.Add('stopdate=' + stopdate );
    Result := Post('http://api.netgsm.com.tr/fax_post.php', Params);
    Params.Free;
  end;
end;

Kod: Tümünü seç

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  Memo1.Lines.Text :=  Post_IdHttp( IdHttp1, 'username', 'password', 'telefonno', 'ggaayyyy', 'ggaayyyy' );
end;
Kolay gelsin... :bravo:
En son mrmarman tarafından 30 Kas 2013 11:12 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Resim
Resim ....Resim
omurolmez
Üye
Mesajlar: 187
Kayıt: 31 Eki 2012 11:41

Re: php post etmek

Mesaj gönderen omurolmez »

Teşekkürler mrmarman, elinize sağlık.
Ömür Ölmez
Cevapla