-
InetAddress 클래스JAVA/Network 2020. 10. 14. 13:34
InetAddress클래스는 주소를 가지고 와서 저장하는 클래스이다.
특정 IP를 찾을 때 해당 클래스를 활용한다.IP주소를 확인해서 어디에서 글을 올렸는지를 알 수 있다.
접속자에 따라 세부적인 기록을 할 수 있다. 해당 정보를 가지고 와서 저장하는 용도의 클래스
소스 코드
import java.net.InetAddress; import java.net.UnknownHostException; public class AddressTest{ public static void main(String[] args) throws UnknownHostException { InetAddress address = null; // 인터넷 주소를 관리하는 클래스 // getLocalHost함수의 의미는 지역 호스트로 내 주소를 들고온다. address = InetAddress.getLocalHost(); System.out.println("나의 로컬 컴퓨터 이름 : " +address.getHostName()); System.out.println("나의 로컬 컴퓨터 IP : " +address.getHostAddress()); System.out.println("나의 로컬 컴퓨터 IP(byte) : " +address.getAddress()); System.out.println(); // 다른 사람의 주소를 가지고 오자. InetAddress addr1 = InetAddress.getByName("naver.com"); System.out.println("네이버 IP 주소 : " +addr1.getHostAddress()); System.out.println("addr1 : " +addr1); // addr1 객체는 문자열임을 알 수 있다. // 여러 개의 IP주소를 갖고 있을 수 있으므로, 아래와 같이 문장을 써서 확인해보자. InetAddress[] naver = InetAddress.getAllByName("naver.com"); for (int i = 0; i < naver.length; i++){ System.out.println(naver[i]); } } }
서버에 접속해서 데이터를 가지고 와서 데이터 출력
프로그램 실행결과
소스 코드
import java.io.*; import java.net.InetAddress; import java.net.Socket; public class HttpInfo { public static void main(String[] args) throws IOException { InetAddress naver = InetAddress.getByName("naver.com"); // 네이버 주소 얻어오기 // naver.com 주소를 가지고 소켓을 생성 Socket socket = new Socket(naver,80); // socket은 파일을 송수신을 할 수 있는 창구 역할을 한다. OutputStream os = socket.getOutputStream(); // html 문서는 한글이 포함되어 있을 수 있다. 그래서 PrintWriter를 사용한다. // 즉, 한글은 전달받기 때문에 2byte를 처리하는 객체가 필요하다. PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(os))); InputStream is = socket.getInputStream(); BufferedReader in = new BufferedReader(new InputStreamReader(is)); // 2byte는 print함수를, 1byte는 write함수를 쓴다. out.println("GET http://naver.com/ HTTP/1.1\r\n\n"); // 요청 out.flush(); // 버퍼를 비운다. // 한줄 씩 읽기 while (true) { String data = in.readLine(); // 데이터가 없으면 반복문 종료 if (data == null) break; System.out.println(data); } socket.shutdownInput(); socket.shutdownOutput(); socket.close(); } }
'JAVA > Network' 카테고리의 다른 글
간단한 서버와 클라이언트 데이터 송/수신 하기 (0) 2020.10.14 열려 있는 포트 번호를 체크하기 (0) 2020.10.14 간단한 서버 클라이언트 만들기 (0) 2020.10.14 외부에서 가지고 온 데이터를 파일에 저장하기 (0) 2020.10.13 외부에서 데이터를 가지고 오기 (0) 2020.10.13