最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2013年11月20日 11:36:10   作者:  
jsoup是一個非常好的解析網(wǎng)頁的包,用java開發(fā)的,提供了類似DOM,CSS選擇器的方式來查找和提取文檔中的內(nèi)容,提取文檔內(nèi)容時會出現(xiàn)超時的情況,解決方法可看下文

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

解決方法

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

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

復(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.fzitv.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());
 } 
}

有時發(fā)生超時:
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è)定了則一般不會超時

復(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.fzitv.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());
 } 
}

相關(guān)文章

  • Java項目有中多個線程如何查找死鎖

    Java項目有中多個線程如何查找死鎖

    這篇文章主要介紹了Java項目有中多個線程如何查找死鎖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 解析Java中未被捕獲的異常以及try語句的嵌套使用

    解析Java中未被捕獲的異常以及try語句的嵌套使用

    這篇文章主要介紹了Java中未被捕獲的異常以及try語句的嵌套使用,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • Java常用正則表達(dá)式驗證工具類RegexUtils.java

    Java常用正則表達(dá)式驗證工具類RegexUtils.java

    相信大家對正則表達(dá)式一定都有所了解和研究,這篇文章主要為大家分享了Java 表單注冊常用正則表達(dá)式驗證工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 10個實現(xiàn)Java集合,Map類型自由轉(zhuǎn)換的實用工具方法

    10個實現(xiàn)Java集合,Map類型自由轉(zhuǎn)換的實用工具方法

    這篇文章主要為大家整理了整理了10個實用工具方法,可以滿足?Collection、List、Set、Map?之間各種類型轉(zhuǎn)化,文中的示例代碼講解詳細(xì),需要的可以參考下
    2023-09-09
  • Springboot項目通過redis實現(xiàn)接口的冪等性

    Springboot項目通過redis實現(xiàn)接口的冪等性

    這篇文章主要為大家介紹了Springboot項目通過redis實現(xiàn)接口的冪等性,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • springboot高并發(fā)下提高吞吐量的實現(xiàn)

    springboot高并發(fā)下提高吞吐量的實現(xiàn)

    這篇文章主要介紹了springboot高并發(fā)下提高吞吐量的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Struts2動態(tài)結(jié)果集代碼示例

    Struts2動態(tài)結(jié)果集代碼示例

    這篇文章主要介紹了Struts2動態(tài)結(jié)果集的有關(guān)內(nèi)容,涉及具體代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-09-09
  • 一篇文章帶你玩轉(zhuǎn)go語言的接口

    一篇文章帶你玩轉(zhuǎn)go語言的接口

    這篇文章主要介紹了go語言的接口,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧,希望能夠給你帶來幫助
    2021-09-09
  • java web將數(shù)據(jù)導(dǎo)出為Excel格式文件代碼片段

    java web將數(shù)據(jù)導(dǎo)出為Excel格式文件代碼片段

    這篇文章主要為大家詳細(xì)介紹了java web將數(shù)據(jù)導(dǎo)出為Excel格式文件代碼片段,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Java中的jinfo命令使用詳解

    Java中的jinfo命令使用詳解

    jinfo是JDK提供的一個可以實時查看Java虛擬機(jī)各種配置參數(shù)和系統(tǒng)屬性的命令行工具,本文給大家介紹下Java中的jinfo命令使用,感興趣的朋友一起看看吧
    2022-03-03

最新評論

江门市| 嘉鱼县| 凤台县| 新沂市| 莱西市| 芮城县| 阿尔山市| 成都市| 凯里市| 凤冈县| 日土县| 柏乡县| 方山县| 鹤岗市| 新民市| 尚义县| 宾川县| 廊坊市| 牙克石市| 霍林郭勒市| 白朗县| 绵阳市| 武冈市| 泸西县| 唐海县| 甘肃省| 沙河市| 灵川县| 水城县| 临朐县| 藁城市| 榕江县| 赣榆县| 府谷县| 曲靖市| 秭归县| 抚顺县| 鄂州市| 黑山县| 天门市| 通榆县|