国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

java使用Jsoup連接網(wǎng)站超時(shí)的解決方法

2019-11-26 15:53:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

今天做了一個(gè)Jsoup解析網(wǎng)站的項(xiàng)目,使用Jsoup.connect(url).get()連接某網(wǎng)站時(shí)偶爾會(huì)出現(xiàn)
java.net.SocketTimeoutException:Read timed out異常。
原因是默認(rèn)的Socket的延時(shí)比較短,而有些網(wǎng)站的響應(yīng)速度比較慢,
所以會(huì)發(fā)生超時(shí)的情況。

解決方法

鏈接的時(shí)候設(shè)定超時(shí)時(shí)間即可。
doc = Jsoup.connect(url).timeout(5000).get();
5000表示延時(shí)時(shí)間設(shè)置為5s。

測(cè)試代碼如下:
1,不設(shè)定timeout時(shí):

復(fù)制代碼 代碼如下:

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 = "http://m.survivalescaperooms.com";
 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());
 } 
}

有時(shí)發(fā)生超時(shí):
java.net.SocketTimeoutException: Read timed out
at 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:3885ms
Exception in thread "main" java.lang.NullPointerException
at jsoupTest.JsoupTest.main(JsoupTest.java:25)

2 設(shè)定了則一般不會(huì)超時(shí)

復(fù)制代碼 代碼如下:

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 = "http://m.survivalescaperooms.com";
 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());
 } 
}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 莱阳市| 探索| 铅山县| 鸡西市| 宁都县| 察哈| 华宁县| 葫芦岛市| 承德市| 凤城市| 龙井市| 孟连| 邯郸县| 盘山县| 镇安县| 桑日县| 凯里市| 布拖县| 宿州市| 屏边| 沙田区| 随州市| 宁津县| 和林格尔县| 德格县| 出国| 分宜县| 广河县| 辽中县| 荣成市| 泰安市| 扶风县| 伽师县| 泾源县| 伊金霍洛旗| 昌图县| 嵊州市| 滕州市| 营山县| 资阳市| 襄樊市|