자바 소켓 (3) 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 로 웹 페이지 내용 읽 기
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);
}
}
}
결 과 는 다음 과 같다.
위 결 과 를 텍스트 에 저장 하고 접미사 이름 을 'html' 로 변경 합 니 다.그리고 이 텍스트 를 두 번 누 르 십시오.
예:
운행 하 다
대체적으로 이렇다. 그러나 그림 이 나타 나 지 않 는 다. 이것 은 비교적 복잡 한 네트워크 구조 지식 과 관련된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.