gpt4 book ai didi

android - 以编程方式在android移动设备中查找互联网ip地址,不需要设备ip地址

转载 作者:搜寻专家 更新时间:2023-11-01 08:02:38 26 4
gpt4 key购买 nike

我正在尝试在我的手机中获取互联网 IP 地址。无需设备 IP 地址。该设备已连接到 wifi 或 3g 或 2g 或其他任何方式。手机有互联网设施意味着,我需要那个互联网 IP 地址。

注意:我已经尝试了一些编码。该代码将仅用于获取设备 IP 地址。

我的上一个代码:

try {
for (Enumeration<NetworkInterface>
en = NetworkInterface.getNetworkInterfaces();
en.hasMoreElements();)
{
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress>
enumIpAddr = intf.getInetAddresses();enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress())
{ return inetAddress.getHostAddress().toString(); }
}
}

}
catch (SocketException ex)
{
Log.e("ServerActivity", ex.toString());
}

Another one code :

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
Log.v("hari", "ipAddress:"+ipAddress);

提前致谢请任何人帮助我..

最佳答案

你可以使用这个网站和他们的 API 来获取它: http://www.externalip.net/

具体来说 http://api.externalip.net/ip

或者(如有人在评论中提到的)您可以在您的服务器上创建一个 PHP 文件:

<?php
echo $_SERVER['REMOTE_ADDR'];
?>

Android 代码使用 externalip.net url(改编自 this 答案)

HttpGet httppost = new HttpGet("http://api.externalip.net/ip");
HttpResponse response = httpclient.execute(httppost);
HttpEntity ht = response.getEntity();
BufferedHttpEntity buf = new BufferedHttpEntity(ht);
InputStream is = buf.getContent();
BufferedReader r = new BufferedReader(new InputStreamReader(is));
StringBuilder total = new StringBuilder();
String ipaddress = r.readLine();

关于android - 以编程方式在android移动设备中查找互联网ip地址,不需要设备ip地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18918161/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com