導航:首頁 > 編程語言 > java訪問網站地址

java訪問網站地址

發布時間:2025-01-20 10:32:43

java中如何獲取到本機的外網ip地址

java獲取本機的外網ip示例:
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* 獲取本機外網IP地址
* 思想是訪問網站http://checkip.dyndns.org/,得到返回的文本後解析出本機在外網的IP地址
* @author pieryon
*
*/
public class ExternalIpAddressFetcher {
// 外網IP提供者的網址
private String externalIpProviderUrl;

// 本機外網IP地址
private String myExternalIpAddress;

public ExternalIpAddressFetcher(String externalIpProviderUrl) {
this.externalIpProviderUrl = externalIpProviderUrl;

String returnedhtml = fetchExternalIpProviderHTML(externalIpProviderUrl);

parse(returnedhtml);
}

/**
* 從外網提供者處獲得包含本機外網地址的字元串
* 從http://checkip.dyndns.org返回的字元串如下
* <html><head><title>Current IP Check</title></head><body>Current IP Address: 123.147.226.222</body></html>
* @param externalIpProviderUrl
* @return
*/
private String fetchExternalIpProviderHTML(String externalIpProviderUrl) {
// 輸入流
InputStream in = null;

// 到外網提供者的Http連接
HttpURLConnection httpConn = null;

try {
// 打開連接
URL url = new URL(externalIpProviderUrl);
httpConn = (HttpURLConnection) url.openConnection();

// 連接設置
HttpURLConnection.setFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");

// 獲取連接的輸入流
in = httpConn.getInputStream();
byte[] bytes=new byte[1024];// 此大小可根據實際情況調整

// 讀取到數組中
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=in.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}

// 將位元組轉化為為UTF-8的字元串
String receivedString=new String(bytes,"UTF-8");

// 返回
return receivedString;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
httpConn.disconnect();
} catch (Exception ex) {
ex.printStackTrace();
}
}

// 出現異常則返回空
return null;
}

/**
* 使用正則表達式解析返回的HTML文本,得到本機外網地址
* @param html
*/
private void parse(String html){
Pattern pattern=Pattern.compile("(\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})", Pattern.CASE_INSENSITIVE);
Matcher matcher=pattern.matcher(html);
while(matcher.find()){
myExternalIpAddress=matcher.group(0);
}
}

/**
* 得到本機外網地址,得不到則為空
* @return
*/
public String getMyExternalIpAddress() {
return myExternalIpAddress;
}

public static void main(String[] args){
ExternalIpAddressFetcher fetcher=new ExternalIpAddressFetcher("http://checkip.dyndns.org/");

System.out.println(fetcher.getMyExternalIpAddress());
}
}

Ⅱ JAVA類如何打開網頁

JAVA中的類是具備某些共同特徵的實體的集合,它是一種抽象的概念,用程序設計的語言來說,類是一種抽象的數據類型,它是對所具有相同特徵實體的抽象。所謂對象就是真實世界中的實體,對象與實體是一一對應的,也就是說現實世界中每一個實體都是一個對象,對象是一種具體的概念。JAVA類打開網頁有以下方法:

1、java.net.URI uri = new java.net.URI("http://www..com");

java.awt.Desktop.getDesktop().browse(uri);

2、Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://www..com");

這兩種方法是可以打開,不過只能在服務端打開,如果有另一台機器訪問我的機器,執行上邊的程序後,也會在我本機顯示的頁面。

3、如果是讓他自動打開可以用robot類模擬滑鼠單擊右鍵雙擊等動作,還可以模擬輸入。

4、如果要在網頁做復雜操作可以用swt做一個瀏覽器,可以控制他執行網站里的腳本,這個比較難點。

閱讀全文

與java訪問網站地址相關的資料

熱點內容
安卓5flash游戲 瀏覽:895
什麼卡有免費微信提示 瀏覽:511
iphone看不了文件管理 瀏覽:783
數據包如何上傳寶貝 瀏覽:885
java獲得url參數 瀏覽:753
怎麼把文件打包成jar包 瀏覽:65
華為p9電腦找不到文件 瀏覽:284
兒童學編程用哪個app 瀏覽:110
手機版qq怎麼做群文件 瀏覽:637
無線網路指標 瀏覽:711
蘋果電腦文件名太長怎麼全部顯示 瀏覽:996
電腦的sys文件 瀏覽:748
stream7安卓 瀏覽:13
qq快傳安裝的東西在哪個文件夾 瀏覽:830
java讀取文件效率 瀏覽:301
手機蘋果7下載文件後在哪裡看 瀏覽:705
學編程的話有什麼要求 瀏覽:92
03版的excel的密碼在哪裡設置 瀏覽:276
怎樣在文件里下載軟體 瀏覽:481
iosqq歷史版本 瀏覽:570

友情鏈接