Java Uygulaması Üzerinden HTTP POST işlemi yapmak


Diyelim ki web sayfanızı php veya başka bir dil ile hazıladırnız. yazdığınız bir Java programından tıpkı html formlarından post yapar gibi veri yollamak istiyorsunuz. Bunun için aşağıdaki kodlar tam size göre. Aşağıdaki postdata metodu DATA_1 DATA_2 VE DATA_3 şeklindeki 3 datayı ALICI_URL’ye gönderiyor.
bu metodu şöyle kullanabilirsiniz.
postdata(“http://adresim.com/konukdefteri.php”,“Suat”,“ATAN”,“VAN”);

bu metot ile
http://adresim.com/konukdefteri.php
adresine Suat,ATAN ve Van stringleri yollanır.ancak gönderilen URL’de değişkenlerin adlarının DATA_1,DATA_2 VE DATA_3 olması gerekir. bu adları kendinize göre değişebilirsiniz.
metodu boolean fırtlatacak şekilde yaptım data post edilirse true
fırlatacak.
Bu metotun çalışan bir örneğini:
http://www.myjavaserver.com/~suatatan/gundimsn/index.jnlp
adresini tıklayarak çalıştırabilirsiniz.
Bu Java ile yazılmış bir ziyaretçi defteri swing uygulaması ve bu uygulamadan yollanan mesaj
http://www.van-gurpinar.bel.tr/eklenenmesajlar.php
sayfasında yayına geçiyor.
_______
public boolean postdata(String ALICI_URL,String DATA_1,String DATA_2,String DATA_3) {

//BIR APPLIKASYON UZERINDEN DATA POST ETMEYI SAGLAR

try
{
String data = (new StringBuilder()).append(URLEncoder.encode(“DATA_1”, “iso-8859-9”)).append(“=”).append(URLEncoder.encode(DATA_1, “iso-8859-9”)).toString();
data = (new StringBuilder()).append(data).append(“&”).append(URLEncoder.encode(“DATA_2”, “iso-8859-9”)).append(“=”).append(URLEncoder.encode(DATA_2, “iso-8859-9”)).toString();
data = (new StringBuilder()).append(data).append(“&”).append(URLEncoder.encode(“DATA_3”, “iso-8859-9”)).append(“=”).append(URLEncoder.encode(DATA_3, “iso-8859-9”)).toString();

URL url = new URL(ALICI_URL);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;

while((line = rd.readLine()) != null)
{

System.out.println(“data post edildi”);
sonuc=true;
System.out.println(“———–ok————–”);

}

wr.close();
rd.close();

} catch(Exception e) {

sonuc=false;

}

return sonuc;
}

_________
Metot String cinsinden DATA_1 parametresini alıp uzak sunucuda bulunan dosyaya yine DATA_1 parametresi ile yollluyor, metot dikkatle incelendiğinde tırnak içindeki ilk DATA_1 parametresi verinin post edileceği dosyadaki DATA_1 parametresine yollanıyor.Bu adları değiştirebilirsiniz.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s