91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

android如何獲取本機ip地址及ip歸屬地

IP數(shù)據(jù)云 ? 來源:IP數(shù)據(jù)云 ? 作者:IP數(shù)據(jù)云 ? 2024-11-20 11:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

# 前言 #
本篇文章主要介紹android如何獲取本機ip地址及ip歸屬地。

# 定義 #
ip地址是指手機在連接到互聯(lián)網(wǎng)時所獲得的唯一網(wǎng)絡(luò)地址。
ip歸屬地是指通過ip地址查詢器對應(yīng)的地理位置信息,如省市區(qū)等信息。

# 獲取ip地址 #
如果只是查看本機ip,不涉及應(yīng)用開發(fā),可以依次打開手機設(shè)置-我的設(shè)備-狀態(tài)信息-ip地址界面進行查看(不同品牌手機型號會有差異)。
下面開發(fā)過程中獲取本機ip方法:
1.首先是要在清單文件中配置必要的權(quán)限:



2.手機在不同的網(wǎng)絡(luò)環(huán)境下獲取ip的方法:
//獲取ip
public void getIPAddress(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnectedOrConnecting()) {
//網(wǎng)絡(luò)連接可用,判斷網(wǎng)絡(luò)連接類型
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
//wifi網(wǎng)絡(luò)
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
String ip = String.format("%d.%d.%d.%d",
(ipAddress & 0xff),
(ipAddress >> 8 & 0xff),
(ipAddress >> 16 & 0xff),
(ipAddress >> 24 & 0xff));
Log.e("tag", "ip:" + ip);
} else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
//移動網(wǎng)絡(luò)
getLocalIpAddress();
}
} else {
//沒有網(wǎng)絡(luò)鏈接
}
}
private void getLocalIpAddress() {
try {
ArrayList networkInterfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface networkInterface : networkInterfaces) {
ArrayList inetAddresses = Collections.list(networkInterface.getInetAddresses());
for (InetAddress address : inetAddresses) {
String ip = address.getHostAddress();
if (!address.isLoopbackAddress() && (address instanceof Inet4Address)) {
Log.e("tag", "ipv4:" + ip);
}
if (!address.isLoopbackAddress() && (address instanceof Inet6Address)) {
Log.e("tag", "ipv6:" + ip);
}
}
}
} catch (SocketException socketException) {
Log.e("tag", socketException.getMessage());
}
}
# 獲取ip歸屬地 #
想要獲取到ip歸屬地,一般需要獲取到ip地址后通過第三方服務(wù)來查詢,下面展示一下android使用ip數(shù)據(jù)云獲取ip歸屬地的具體方法:
//獲取ip歸屬地
private Location getIpData(String ip, String key) {
Location location = null;
try {
URL url = new URL("https://api.ipdatacloud.com/v2/query?ip=" + ip + "&key=+" + key);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = in.readLine()) != null) {
sb.append(line);
}
in.close();
connection.disconnect();
// 解析返回的JSON數(shù)據(jù),獲取IP歸屬地信息
// 這里需要使用JSON解析庫,例如gson、fastjson
String jsonResult = sb.toString();
location = new Gson().fromJson(jsonResult, Location.class);
} catch (Exception e) {
e.printStackTrace();
}
return location;
}

class Location {
private String AreaCode; //行政區(qū)碼
private String City; //城市
private String CityCode; //城市代碼
private String Continent; //洲
private String Country; //國家/地區(qū)
private String CountryCode; //國家/地區(qū)英文簡寫
private String District; //區(qū)縣
private String Elevation; //海拔
private String Ip; //ip地址
private String Isp; //運營商
private String Latitude; //緯度
private String Longitude; //經(jīng)度
private Street[] MultiStreet; //歷史街道位置
private String Province; //省份
private String Street; //街道
private String TimeZone; //時區(qū)
private String WeatherStation; //氣象站
private String ZipCode; //郵編
}

class Street {
private String Lng; //經(jīng)度
private String Lat; //緯度
private String Province; //省份
private String City; //城市
private String District; //區(qū)縣
private String Street; //街道
private String Radius; //范圍半徑
private String ZipCode; //郵政編碼
}
# 總結(jié) #
本文簡要總結(jié)了android獲取ip地址及歸屬地的方法,在實際開發(fā)中還需要根據(jù)自身的實際情況進行修改。
在眾多第三方服務(wù)中,ip數(shù)據(jù)云作為新一代ip地址數(shù)據(jù)服務(wù)領(lǐng)軍者,為廣大開發(fā)者提供了豐富的產(chǎn)品服務(wù),具體可去官網(wǎng)https://www.ipdatacloud.com/?utm-source=WZJ&utm-keyword=?2826進行測試、咨詢。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    4023

    瀏覽量

    133956
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1862

    瀏覽量

    155789
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何高效修改西門子PLC的相同IP地址

    隨著“智能制造”與“工業(yè)4.0”的持續(xù)推進,越來越自動化設(shè)備需接入信息化管理系統(tǒng),但很多企業(yè)在早期設(shè)備采購或新增設(shè)備時,往往缺乏對設(shè)備 IP 地址進行統(tǒng)一規(guī)劃,導(dǎo)致不同廠家設(shè)備或同型號多臺設(shè)備出現(xiàn)
    的頭像 發(fā)表于 12-16 13:52 ?430次閱讀
    如何高效修改西門子PLC的相同<b class='flag-5'>IP</b><b class='flag-5'>地址</b>

    網(wǎng)段隔離器解決IP沖突問題,實現(xiàn)跨網(wǎng)段通信

    在互聯(lián)網(wǎng)的世界里,每一臺設(shè)備都如同擁有一個獨特的“家庭住址”——IP地址。設(shè)備之間的通信,就如同人與人之間交流需要知道對方的住址一樣,必須明確知曉目標設(shè)備的IP地址,才能將數(shù)據(jù)準確無誤
    的頭像 發(fā)表于 11-19 14:32 ?356次閱讀
    網(wǎng)段隔離器解決<b class='flag-5'>IP</b>沖突問題,實現(xiàn)跨網(wǎng)段通信

    工業(yè)NAT網(wǎng)關(guān)實現(xiàn)PLC、機床等設(shè)備IP地址沖突的解決方案

    在工業(yè)自動化項目中,工程師經(jīng)常會遇到一個問題——IP地址沖突。比如一臺編寫好程序的自動化設(shè)備,其內(nèi)部PLC的IP地址是固定的192.168.1.1,在接入工廠局域網(wǎng)絡(luò)時卻發(fā)現(xiàn)無法聯(lián)網(wǎng),
    的頭像 發(fā)表于 11-06 16:58 ?722次閱讀
    工業(yè)NAT網(wǎng)關(guān)實現(xiàn)PLC、機床等設(shè)備<b class='flag-5'>IP</b><b class='flag-5'>地址</b>沖突的解決方案

    國外老舊設(shè)備出現(xiàn)IP沖突無法上網(wǎng)如何解決

    在智能制造機數(shù)字化轉(zhuǎn)型的浪潮中,大量工廠仍存在一些運行年限較久的老舊設(shè)備。這類設(shè)備多是海外設(shè)備,常因出廠預(yù)設(shè)靜態(tài)IP地址、硬件限制無法修改網(wǎng)絡(luò)參數(shù),導(dǎo)致在接入現(xiàn)代企業(yè)網(wǎng)絡(luò)時頻繁出現(xiàn)IP地址
    的頭像 發(fā)表于 10-16 10:52 ?372次閱讀
    國外老舊設(shè)備出現(xiàn)<b class='flag-5'>IP</b>沖突無法上網(wǎng)如何解決

    lwip如何實現(xiàn)運行中修改ip地址并使新的地址生效?

    應(yīng)用中下位機做了一個TCP服務(wù)器,供作為客戶機的PC訪問,這個功能能已經(jīng)好了?,F(xiàn)在需要實現(xiàn)修改IP地址等網(wǎng)絡(luò)參數(shù)的功能,看了ethernetif.c中的set_if()函數(shù),只是調(diào)用
    發(fā)表于 10-14 07:57

    w5500dhcp無法獲取ip怎么解決?

    spi驅(qū)動w5500,mac地址寫入讀取成功,但是獲取ip、子網(wǎng)掩碼都是0;
    發(fā)表于 09-26 06:58

    IP地址沖突導(dǎo)致德國站群服務(wù)器斷網(wǎng)的解決方法?

    在網(wǎng)絡(luò)管理中,IP地址沖突是一個常見且令人頭疼的問題。尤其是對于依賴站群服務(wù)器進行大規(guī)模網(wǎng)絡(luò)操作的企業(yè)而言,IP沖突可能會導(dǎo)致整個服務(wù)器群組無法正常工作,從而造成嚴重的業(yè)務(wù)中斷。本文將探討如何解決因
    的頭像 發(fā)表于 08-12 15:47 ?763次閱讀

    DDNS在路由器WAN為私網(wǎng)IP地址時無法使用,怎么解決?

    DDNS在路由器WAN為私網(wǎng)IP地址時無法使用,有沒有其他解決方案?
    發(fā)表于 08-07 06:41

    請問InConnect 是否可以用實際 IP 而不是用虛擬 IP 映射實際IP

    但是這樣子使用的話,我只能通過這個虛擬IP來連接設(shè)備,那樣子我的PLC編程軟件就不能連接上設(shè)備了因為IP和實際的不一樣,我能通過什么辦法來讓映射出來的虛擬IP和我的實際設(shè)備IP一致嗎?
    發(fā)表于 08-06 07:54

    CNC的IP地址相同沖突如何解決?

    在網(wǎng)絡(luò)世界中,每個設(shè)備都需要一個獨特的標識來確保信息的準確傳輸,這個標識就是IP地址。然而,在CNC(數(shù)控機床)生產(chǎn)車間中,由于存在多個品牌、不同型號的設(shè)備,且這些設(shè)備在出廠測試時往往會被配備相同
    的頭像 發(fā)表于 07-23 14:13 ?686次閱讀
    CNC的<b class='flag-5'>IP</b><b class='flag-5'>地址</b>相同沖突如何解決?

    從零開始學(xué)IP地址

    IP地址是一種網(wǎng)絡(luò)編碼,用來唯一標識網(wǎng)絡(luò)中的設(shè)備,以確保主機間正常通信。IP地址由32位二進制(32-bit)組成。
    的頭像 發(fā)表于 07-08 09:29 ?1797次閱讀
    從零開始學(xué)<b class='flag-5'>IP</b><b class='flag-5'>地址</b>

    Jtti.ccVPS和IP的關(guān)系是什么?一文講清服務(wù)器背后的網(wǎng)絡(luò)邏輯

    最基礎(chǔ)的網(wǎng)絡(luò)邏輯說起,帶你把 VPS 和 IP 的關(guān)系捋清楚,看完你也能輕松搞懂。 一、VPS和IP是什么關(guān)系? 簡單來說,VPS是房子,IP是門牌號。 每臺 VPS(虛擬專用服務(wù)器)都是通過虛擬技術(shù)從一臺物理服務(wù)器中劃分出來的
    的頭像 發(fā)表于 07-07 17:41 ?851次閱讀

    樹莓派“定居”完全指南:一鍵設(shè)置靜態(tài)IP,穩(wěn)定又高效!

    當(dāng)你為樹莓派設(shè)置靜態(tài)IP地址時,實際上是為它分配了一個固定地址,該地址不會改變,而動態(tài)IP地址
    的頭像 發(fā)表于 05-25 08:32 ?1587次閱讀
    樹莓派“定居”完全指南:一鍵設(shè)置靜態(tài)<b class='flag-5'>IP</b>,穩(wěn)定又高效!

    內(nèi)網(wǎng)穿透和公網(wǎng)ip什么區(qū)別

    原理:設(shè)備通過路由器獲取獨立的公網(wǎng)IP地址,直接暴露在互聯(lián)網(wǎng)中。 典型配置: 向運營商申請固定公網(wǎng)IP(或動態(tài)公網(wǎng)IP+DDNS) 在路由
    的頭像 發(fā)表于 05-14 14:18 ?701次閱讀
    內(nèi)網(wǎng)穿透和公網(wǎng)<b class='flag-5'>ip</b>什么區(qū)別

    海外住宅IP代理優(yōu)勢綜合分析

    掩藏 通過代理服務(wù)器替換用戶真實IP地址,形成物理層與代理層的雙重隔離屏障,有效避免因IP暴露導(dǎo)致的賬號關(guān)聯(lián)或封禁風(fēng)險。例如跨境電商多賬號運營時,可為每個賬號分配唯一住宅IP,規(guī)避平臺
    的頭像 發(fā)表于 04-25 10:28 ?591次閱讀