国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

# 定義 #
ip地址是指手機在連接到互聯網時所獲得的唯一網絡地址。
ip歸屬地是指通過ip地址查詢器對應的地理位置信息,如省市區等信息。

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



2.手機在不同的網絡環境下獲取ip的方法:
//獲取ip
public void getIPAddress(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnectedOrConnecting()) {
//網絡連接可用,判斷網絡連接類型
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
//wifi網絡
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) {
//移動網絡
getLocalIpAddress();
}
} else {
//沒有網絡鏈接
}
}
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地址后通過第三方服務來查詢,下面展示一下android使用ip數據云獲取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數據,獲取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; //行政區碼
private String City; //城市
private String CityCode; //城市代碼
private String Continent; //洲
private String Country; //國家/地區
private String CountryCode; //國家/地區英文簡寫
private String District; //區縣
private String Elevation; //海拔
private String Ip; //ip地址
private String Isp; //運營商
private String Latitude; //緯度
private String Longitude; //經度
private Street[] MultiStreet; //歷史街道位置
private String Province; //省份
private String Street; //街道
private String TimeZone; //時區
private String WeatherStation; //氣象站
private String ZipCode; //郵編
}

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

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    4024

    瀏覽量

    133970
  • IP
    IP
    +關注

    關注

    5

    文章

    1862

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    網段隔離器解決IP沖突問題,實現跨網段通信

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

    工業NAT網關實現PLC、機床等設備IP地址沖突的解決方案

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

    國外老舊設備出現IP沖突無法上網如何解決

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

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

    應用中下位機做了一個TCP服務器,供作為客戶機的PC訪問,這個功能能已經好了。現在需要實現修改IP地址等網絡參數的功能,看了ethernetif.c中的set_if()函數,只是調用
    發表于 10-14 07:57

    w5500dhcp無法獲取ip怎么解決?

    spi驅動w5500,mac地址寫入讀取成功,但是獲取ip、子網掩碼都是0;
    發表于 09-26 06:58

    IP地址沖突導致德國站群服務器斷網的解決方法?

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

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

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

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

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

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

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

    從零開始學IP地址

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

    Jtti.ccVPS和IP的關系是什么?一文講清服務器背后的網絡邏輯

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

    樹莓派“定居”完全指南:一鍵設置靜態IP,穩定又高效!

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

    內網穿透和公網ip什么區別

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

    海外住宅IP代理優勢綜合分析

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