자바 소켓 (3) URL 의 응용

7798 단어 자바socket
URL
1. URL (Uniform Resource Locator) 은 자원 포 지 셔 닝 부 호 를 통일 하여 인터넷 의 특정한 자원 의 주 소 를 표시 합 니 다.파 이 썬 파충 이 를 만 들 때 이 물건 을 처음 접 했다.
2. URL 은 두 부분 으로 구성 되 어 있 습 니 다. 프로 토 콜 이름과 자원 이름, 중간 에 콜론 으로 구분 합 니 다.예컨대http://www.example.com/index.html 프로 토 콜 http, 호스트 이름 www. example. com, 파일 이름 index. html 를 표시 합 니 다.
일반적인 형식 은 다음 과 같 습 니 다.scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]
3. java. net 패키지 에 URL 클래스 를 제공 하여 URL 을 표시 합 니 다.
package com.test;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;

public class test{
    public static void main(String[] args) {
        try {
            //    URL  
            URL baidu=new URL("http://www.baidu.com");
            URL url=new URL(baidu, "/index.html?username=wonderq#test");
            System.out.println("  :"+url.getProtocol());
            System.out.println("  :"+url.getHost());
            //        ,        ,  getport    -1
            System.out.println("   :"+url.getPort());
            System.out.println("    :"+url.getPath());
            System.out.println("    ;"+url.getFile());
            System.out.println("    :"+url.getRef());
            System.out.println("     :"+url.getQuery());
        } catch (MalformedURLException ex) {
            Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
        }
     }
}

프로 토 콜: http 호스트: www. baidu. com 포트 번호: - 1 파일 경로: / index. html 파일 이름; /index. html? username = wonderq 상대 경로: test 조회 문자열: username = wonderq
URL 로 웹 페이지 내용 읽 기
  • URL 대상 의 openStream () 방법 으로 지정 한 자원 입력 흐름 을 얻 을 수 있 습 니 다.
  • 입력 흐름 을 통 해 네트워크 의 데 이 터 를 읽 고 접근 할 수 있다.
  • import java.io.BufferedReader;  
    import java.io.IOException;  
    import java.io.InputStream;  
    import java.io.InputStreamReader;  
    import java.net.MalformedURLException;  
    import java.net.URL;  
    import java.util.logging.Level;  
    import java.util.logging.Logger;  
    
    public class test{  
        public static void main(String[] args) {  
            try {  
                //  URL   
                URL url=new URL("http://www.baidu.com");  
                //  URL openStream()                   
                InputStream is=url.openStream();  
                //               
                InputStreamReader isr=new InputStreamReader(is,"utf-8");  
                //           
                BufferedReader br=new BufferedReader(isr);  
                //             
                String data= br.readLine();  
                while(data!=null){  
                    System.out.println(data);  
                    data=br.readLine();  
                }  
                br.close();  
                isr.close();  
                is.close();  
            } catch (MalformedURLException ex) {  
                Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);  
            } catch (IOException ex) {  
                Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);  
            }  
         }  
    }  

    결 과 는 다음 과 같다.
    Java Socket(三) URL的应用_第1张图片
    위 결 과 를 텍스트 에 저장 하고 접미사 이름 을 'html' 로 변경 합 니 다.그리고 이 텍스트 를 두 번 누 르 십시오.
    예: 这里写图片描述
    운행 하 다
    대체적으로 이렇다. 그러나 그림 이 나타 나 지 않 는 다. 이것 은 비교적 복잡 한 네트워크 구조 지식 과 관련된다.

    좋은 웹페이지 즐겨찾기