java 간단한 웹 캡처 실현 방법
배경 소개
소개
1 tcp 네트워크 중점 대점 전송 실현
2 전송은 포트와 소켓을 통해
ports는 서로 다른 유형의 전송을 제공합니다 (예를 들어 http의port는 80)
1) sockets는 특정 포트에 연결할 수 있고 전송 기능을 제공한다
2) 하나의 포트에 여러 개의 소켓을 연결할 수 있다
2URL 소개
URL은 인터넷에서 얻을 수 있는 자원의 위치와 접근 방법에 대한 간결한 표시로 인터넷에서 표준 자원의 주소이다.
인터넷상의 모든 파일은 유일한 URL을 가지고 있으며, 그 안에 포함된 정보는 파일의 위치와 브라우저가 어떻게 처리해야 하는지를 가리킨다.
종합적으로 말하자면, 우리가 웹 페이지의 내용을 캡처하는 것은 실질적으로 URL을 통해 웹 페이지의 내용을 캡처하는 것이다.
Java는 다음과 같은 두 가지 방법을 제공합니다.
하나는 URL에서 웹 페이지를 직접 읽는 거예요.
하나는 URLConnection을 통해 웹 페이지를 읽는 거예요.
그중의 URLConnection은 http를 핵심으로 하는 클래스로 http를 연결하는 함수를 많이 제공했다
본고는 URLConnection 기반의 실례 코드를 제시할 것이다.
그 전에 URL에 대한 이상을 살펴보겠습니다.자바 이상 메커니즘을 모르는 사람은 이전 블로그를 참고하십시오.
URL을 구성하는 이상 MalformedURLException 생성 조건: URL의 문자열이 비어 있거나 식별할 수 없는 프로토콜
URLConnection의 이상 IOException 생성 조건: openConnection 실패, openConnection 시 코드가 원격에 연결되지 않았습니다. 원격에 연결하기 위한 준비만 하였습니다.
요약하면 최종 코드는 다음과 같습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class SimpleNetSpider {
public static void main(String[] args) {
try{
URL u = new URL("http://docs.oracle.com/javase/tutorial/networking/urls/");
URLConnection connection = u.openConnection();
HttpURLConnection htCon = (HttpURLConnection) connection;
int code = htCon.getResponseCode();
if (code == HttpURLConnection.HTTP_OK)
{
System.out.println("find the website");
BufferedReader in=new BufferedReader(new InputStreamReader(htCon.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
else
{
System.out.println("Can not access the website");
}
}
catch(MalformedURLException e )
{
System.out.println("Wrong URL");
}
catch(IOException e)
{
System.out.println("Can not connect");
}
}
}
본 논문이 여러분의 자바 프로그램 설계에 도움이 되기를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.