java Jsoup 연결 사이트 시간 초과 해결 방법 사용
해결 방법: 링크할 때 시간 초과 시간을 설정하면 됩니다.doc = Jsoup.connect(url).timeout(5000).get();5000은 지연 시간을 5s로 설정합니다.
테스트 코드는 다음과 같습니다. 1, timeout을 설정하지 않을 때:
package jsoupTest;
import java.io.IOException;
import org.jsoup.*;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupTest {
public static void main(String[] args) throws IOException{
String url = "https://www.jb51.net";
long start = System.currentTimeMillis();
Document doc=null;
try{
doc = Jsoup.connect(url).get();
}
catch(Exception e){
e.printStackTrace();
}
finally{
System.out.println("Time is:"+(System.currentTimeMillis()-start) + "ms");
}
Elements elem = doc.getElementsByTag("Title");
System.out.println("Title is:" +elem.text());
}
}
때때로 시간 초과가 발생합니다:java.net.SocketTimeoutException: Read timed outat java.net.SocketInputStream.socketRead0(Native Method)at java.net.SocketInputStream.read(Unknown Source)at java.net.SocketInputStream.read(Unknown Source)at java.io.BufferedInputStream.fill(Unknown Source)at java.io.BufferedInputStream.read1(Unknown Source)at java.io.BufferedInputStream.read(Unknown Source)at sun.net.www.http.ChunkedInputStream.fastRead(Unknown Source)at sun.net.www.http.ChunkedInputStream.read(Unknown Source)at java.io.FilterInputStream.read(Unknown Source)at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)at java.util.zip.InflaterInputStream.fill(Unknown Source)at java.util.zip.InflaterInputStream.read(Unknown Source)at java.util.zip.GZIPInputStream.read(Unknown Source)at java.io.BufferedInputStream.read1(Unknown Source)at java.io.BufferedInputStream.read(Unknown Source)at java.io.FilterInputStream.read(Unknown Source)at org.jsoup.helper.DataUtil.readToByteBuffer(DataUtil.java:113)at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:447)at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:393)at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:159)at org.jsoup.helper.HttpConnection.get(HttpConnection.java:148)at jsoupTest.JsoupTest.main(JsoupTest.java:17)Time is:3885msException in thread "main"java.lang.NullPointerExceptionat jsoupTest.JsoupTest.main(JsoupTest.java:25)2 설정하면 보통 시간을 초과하지 않습니다.
package jsoupTest;
import java.io.IOException;
import org.jsoup.*;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupTest {
public static void main(String[] args) throws IOException{
String url = "https://www.jb51.net";
long start = System.currentTimeMillis();
Document doc=null;
try{
doc = Jsoup.connect(url).timeout(5000).get();
}
catch(Exception e){
e.printStackTrace();
}
finally{
System.out.println("Time is:"+(System.currentTimeMillis()-start) + "ms");
}
Elements elem = doc.getElementsByTag("Title");
System.out.println("Title is:" +elem.text());
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Jsoup HTML 인스턴스 및 문서 분석 방법 상세 정보방법은 정적 Jsoup을 사용할 수 있습니다.parse(File in, String charsetName, String baseUri) 메서드: 이 방법은 HTML 파일을 불러오고 해석하는 데 사용됩니다.파일을 불러...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.