在Java編程中,可以用URLConnection(HttpURLConnection)獲取web資源
String originalurl = "
URL url = new URL(originalurl);
URLConnection urlCon = url.openConnection();
(或HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();)
在使用上面語句進行http鏈接,如果沒有超時設置,當在網(wǎng)絡異常時經(jīng)常會出現(xiàn)程序僵死的情況。
這種情況在用瀏覽器請求web頁面時也可能出現(xiàn),即某一頁面一直處于下載狀態(tài),無法獲得數(shù)據(jù)也無報錯。
通過使用下面的語句進行超時設置即可解決這一問題。
System.setProperty("sun.net.client.defaultConnectTimeout", "60000");
System.setProperty("sun.net.client.defaultReadTimeout", "60000");
//設置連接主機的超時時間和從主機讀取數(shù)據(jù)的超時時間均為1分鐘(60000毫秒)。
JDk 1.4及以前的版本可以用上面方法,在以后版本中有更簡單的方法,如下:
urlCon.setConnectTimeout(60000);
urlCon.setReadTimeout(60000);
文章出處:http://www.diybl.com/course/3_program/java/javajs/20071018/77938.html