Mühendislikte herşey ihtiyaçlardan ve gerekiliklerden doğar; bu yazı Java ile Curl gibi post atıp içindeki bilgileri nasıl kullanılacağını çok basit bir örnek ile anlatacağım.

Fırat Üniversitesi Üniversite evi’nde her gün ne yemek çıkacağı Fırat Üniversitesi sayfasında yazmakta; ama cep telefonlarından ilgili sayfanın açılması süreci hem zahmetli hem ücretli hem zaman kaybı. Bunu engellemek için; ilgili sayfadaki bilgiyi alan bir uygulama geliştirmeye karar verdik. Ben java tarafını yazdım. Hüseyin Varol’da Android.

Sistem şöyle çalışıyordu; Java ile URL’ye post atılıyor; gelen sonuç içerisinden regular expression ile yemek isimleri ayrıştırılıp ekrana yansıtılıyor. (Post ismini vermiş olsak ta GET ile attık)

Bu Android uygulamasını şuradan indirebilirsiniz (Hazırlanıyor)

Aynı uygulamanın Windows Phone platformu için hali yoldadır 🙂

GET ATMA

1) İmportlarımız

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;

2) İnput Açma ve Buffered Reader ile okuma

URL url = new URL(“http://web.firat.edu.tr/universiteevi/index.htm”);
InputStream response = url.openStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(response));
for (String line; (line = reader.readLine()) != null;) {
}
reader.close();

POST ATMA

1) İmportlarımız 

import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;

3) Parametrelerimizi Ayarlama 

String data = URLEncoder.encode(“ddlKurumTuru”, “UTF-8”) + “=” + URLEncoder.encode(“1”, “UTF-8”);
data += “&” + URLEncoder.encode(“ddlil”, “UTF-8”) + “=” + URLEncoder.encode(“1”, “UTF-8”);

3) İnput Açma ve Buffered Reader ile okuma 

URL url = new URL(“https://mebbis.meb.gov.tr/KurumListesi.aspx”);

URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
//write parameters
writer.write(data);
writer.flush();

// Get the response
StringBuffer answer = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
answer.append(line +”\n”);
}
writer.close();
reader.close();

result = answer.toString();

NOTLAR

Not1: Try-Catch’a Almayı unutmayın

Not2: URL yazarken http gibi url’nin protokolünü belirtmeyi unutmayın örneğin:”http://web.firat.edu.tr/universiteevi/index.htm”

Not3: String tum = tum + line gibi birşeyle tüm sayfanın kaynak kodunu bir string’e atabilirsiniz

Not4: Sayfanın tam adresini bulmanız gerekmektedir; sanal adresleme veya başka bir yöntem ile çalışmaz yani tam olarak index.html gibi bir değer bulmanız gerekmektedir. Bazı server’lar bu değerleri sizin tarayıcınızda göstermez, ben almak için http viewer programlarından birini kullandım.

ÖRNEK KOD

ornekkod

Reklamlar