21 Aralık 2012 Cuma

HttpURLConnection İle Web Sayfası İçeriği Almak

Java'da basit bir şekilde ve herhangi bir ekstra kütüphane kullanmadan HTTPURLConnection sınıfı ile bir web sitesine bağlanıp içeriğini almak konusunda ufak bir kod parçası ile örnek vereceğim. Bu işlemi, bir web sayfasını tamamen String olarak çekip parse etmek ya da GET, POST vs. ile çalışan bir REST servisi çağırmak için kullanabilirsiniz.

Aşağıdaki örnekte http://www.mehmetaktas.org?param1=VALUE1&param2=VALUE2 şeklinde bir adresin içeriğini çekeceğiz.

public String getURLContent(){
        String uri = "http://www.mehmetaktas.org?param1=value1&param2=value2";
        HttpURLConnection connection = null;        
        
        try {
            
            //Bağlantımızı açıyoruz
            URL url = new URL(uri);
            connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");//POST, PUT, DELETE ...
            connection.setUseCaches(false);
            connection.setDoInput(true);
            connection.setDoOutput(true);
            /*
             * Content-Type, Content-Language gibi request property set etmek
             * istersek aşağıdaki metod kullanılabilir:
             * connection.setRequestProperty("Content-Language", "tr-TR");
             */
            //Response'ı alıyoruz
            InputStream is = connection.getInputStream();
            BufferedReader rd = new BufferedReader(new InputStreamReader(is));
            String line;
            StringBuilder response = new StringBuilder();            
            while ((line = rd.readLine()) != null) {
                response.append(line);
                response.append('\r');
            }
            rd.close();
            is.close();
            
           return response.toString();
            
        } 
        catch (Exception e) {} 
        finally {
            if (connection != null) {
                connection.disconnect();                
            }
        }
    } 

httpurlconnection, screenscraper, java, url, connection, web page, parse, rest, get, post )

Hiç yorum yok:

Yorum Gönder