广告
返回顶部
首页 > 资讯 > 服务器 >服务器的真实IP怎么利用java进行获取
  • 166
分享到

服务器的真实IP怎么利用java进行获取

javaavaip 2023-05-31 07:05:54 166人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关服务器的真实IP怎么利用java进行获取,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实现代码:import java.io.BufferedReader;imp

这篇文章将为大家详细讲解有关服务器的真实IP怎么利用java进行获取,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

实现代码:

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.Inet4Address;import java.net.InetAddress;import java.net.InterfaceAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;import java.net.UnknownHostException;import java.util.ArrayList;import java.util.Enumeration;import java.util.Iterator;import java.util.List;import java.util.Map; import javax.servlet.http.httpservletRequest; import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFORMEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import org.springframework.http.HttpMethod; public class WEBToolUtils {     public static String getLocalIP() throws UnknownHostException, SocketException {    if (iswindowsOS()) {      return InetAddress.getLocalHost().getHostAddress();    } else {      return getlinuxLocalIp();    }  }     public static boolean isWindowsOS() {    boolean isWindowsOS = false;    String osName = System.getProperty("os.name");    if (osName.toLowerCase().indexOf("windows") > -1) {      isWindowsOS = true;    }    return isWindowsOS;  }     public static String getLocalHostName() throws UnknownHostException {    return InetAddress.getLocalHost().getHostName();  }     private static String getLinuxLocalIp() throws SocketException {    String ip = "";    try {      for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {        NetworkInterface intf = en.nextElement();        String name = intf.getName();        if (!name.contains("Docker") && !name.contains("lo")) {          for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {            InetAddress inetAddress = enumIpAddr.nextElement();            if (!inetAddress.isLoopbackAddress()) {              String ipaddress = inetAddress.getHostAddress().toString();              if (!ipaddress.contains("::") && !ipaddress.contains("0:0:") && !ipaddress.contains("fe80")) {                ip = ipaddress;                System.out.println(ipaddress);              }            }          }        }      }    } catch (SocketException ex) {      System.out.println("获取ip地址异常");      ip = "127.0.0.1";      ex.printStackTrace();    }    System.out.println("IP:"+ip);    return ip;  }     public static String getIpAddress(HttpServletRequest request) {    String ip = request.getHeader("x-forwarded-for");    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {      ip = request.getHeader("Proxy-Client-IP");    }    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {      ip = request.getHeader("WL-Proxy-Client-IP");    }    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {      ip = request.getHeader("HTTP_CLIENT_IP");    }    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {      ip = request.getHeader("HTTP_X_FORWARDED_FOR");    }    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {      ip = request.getRemoteAddr();    }    return ip;  }     // public static String sendGet(String url, String param) {  // String result = "";  // BufferedReader in = null;  // try {  // String urlNameString = url + "&#63;" + param;  // URL realUrl = new URL(urlNameString);  // // 打开和URL之间的连接  // URLConnection connection = realUrl.openConnection();  // // 设置通用的请求属性  // connection.setRequestProperty("accept", "*  public static void sendPost(String pathUrl, String name, String pwd, String phone, String content) {    // PrintWriter out = null;    // BufferedReader in = null;    // String result = "";    // try {    // URL realUrl = new URL(url);    // // 打开和URL之间的连接    // URLConnection conn = realUrl.openConnection();    // // 设置通用的请求属性    // conn.setRequestProperty("accept", "**;q=0.8");      httpConn.setRequestProperty("Accept-Encoding", "gzip, deflate");      httpConn.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3");      httpConn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0");      httpConn.setRequestProperty("Upgrade-Insecure-Requests", "1");       httpConn.setRequestProperty("account", name);      httpConn.setRequestProperty("passwd", pwd);      httpConn.setRequestProperty("phone", phone);      httpConn.setRequestProperty("content", content);       // 建立输出流,并写入数据      OutputStream outputStream = httpConn.getOutputStream();      outputStream.write(requestStringBytes);      outputStream.close();      // 获得响应状态      int responseCode = httpConn.getResponseCode();       if (HttpURLConnection.HTTP_OK == responseCode) {// 连接成功        // 当正确响应时处理数据        StringBuffer sb = new StringBuffer();        String readLine;        BufferedReader responseReader;        // 处理响应流,必须与服务器响应流输出的编码一致        responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "utf-8"));        while ((readLine = responseReader.readLine()) != null) {          sb.append(readLine).append("\n");        }        responseReader.close();      }    } catch (Exception ex) {      ex.printStackTrace();    }  }     public static void doPost(String url, String name, String pwd, String phone, String content) {    // 创建默认的httpClient实例.    CloseableHttpClient httpclient = HttpClients.createDefault();    // 创建httppost    HttpPost httppost = new HttpPost(url);    // 创建参数队列    List<NameValuePair> formparams = new ArrayList<NameValuePair>();    formparams.add(new BasicNameValuePair("account", name));    formparams.add(new BasicNameValuePair("passwd", pwd));    formparams.add(new BasicNameValuePair("phone", phone));    formparams.add(new BasicNameValuePair("content", content));     UrlEncodedFormEntity uefEntity;    try {      uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");      httppost.setEntity(uefEntity);      System.out.println("executing request " + httppost.getURI());      CloseableHttpResponse response = httpclient.execute(httppost);      try {        HttpEntity entity = response.getEntity();        if (entity != null) {          System.out.println("--------------------------------------");          System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8"));          System.out.println("--------------------------------------");        }      } finally {        response.close();      }    } catch (Exception e) {      e.printStackTrace();    } finally {      // 关闭连接,释放资源      try {        httpclient.close();      } catch (IOException e) {        e.printStackTrace();      }    }   }}

--结束END--

本文标题: 服务器的真实IP怎么利用java进行获取

本文链接: https://www.lsjlt.com/news/224132.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 服务器的真实IP怎么利用java进行获取
    这篇文章将为大家详细讲解有关服务器的真实IP怎么利用java进行获取,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实现代码:import java.io.BufferedReader;imp...
    99+
    2023-05-31
    java ava ip
  • 利用Nginx 反向代理怎么获取真实IP
    本篇文章给大家分享的是有关利用Nginx 反向代理怎么获取真实IP,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、前言前文Nginx 解决WebApi跨域二次请求以及Vue单...
    99+
    2023-06-08
  • 怎么使用java获取服务器ip
    可以使用Java中的InetAddress类来获取服务器IP地址。以下是一个简单的Java代码示例:```javaimport ja...
    99+
    2023-06-04
    获取服务器ip 服务器
  • Python实现获取域名所用服务器的真实IP
    本来是要写个程序用的,没写完不写了,这一部分就贴出来吧 验证域名和IP class JianKong(): '''查询IDC信息,封ip和过白名单''' def __init__(self): ...
    99+
    2022-06-04
    真实 服务器 域名
  • 怎么使用java获取服务器ip地址
    可以使用Java中的InetAddress类来获取服务器的IP地址,示例代码如下:```javaimport java.net.In...
    99+
    2023-06-07
    获取服务器ip 服务器
  • 客户端的IP地址与MAC地址怎么利用Java进行获取
    这篇文章将为大家详细讲解有关客户端的IP地址与MAC地址怎么利用Java进行获取,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.获取客户端IP地址public String getIp(H...
    99+
    2023-05-31
    java ip地址 mac地址
  • 怎么获取服务器的IP地址
    这篇文章主要介绍了怎么获取服务器的IP地址的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么获取服务器的IP地址文章都会有所收获,下面我们一起来看看吧。第一步:获取服务器IP地址要获取服务器IP地址,可以使用命...
    99+
    2023-07-06
  • 字节码文件怎么利用java进行获取
    字节码文件怎么利用java进行获取?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java 获取字节码文件的几种方法总结其具体思想及代码如下所示:public class P...
    99+
    2023-05-31
    java 字节码 ava
  • 怎么获取云服务器的ip地址
    要获取云服务器的IP地址,可以按照以下步骤进行操作:1. 登录到云服务提供商的控制台。2. 导航到云服务器实例的管理页面。3. 在实...
    99+
    2023-08-15
    云服务器
  • 使用爬虫怎么获取代理服务器ip
    使用爬虫怎么获取代理服务器ip?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、使用爬虫脚本每天定期抓取代理网站上的ip,并将其写入MongoDB或其他数据库。这个表格是原始表...
    99+
    2023-06-14
  • Java中的子文本怎么利用正则表达式进行获取
    Java中的子文本怎么利用正则表达式进行获取?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体方法如下:package cn.mingyuan.regexp.singlec...
    99+
    2023-05-31
    java 正则表达式 ava
  • 利用java怎么与web服务器进行链接
    本篇文章给大家分享的是有关利用java怎么与web服务器进行链接,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。java 与web服务器链接使用net.Socket类sock.g...
    99+
    2023-05-31
    java web服务器 ava
  • WCF服务怎么利用JAVA进行调用
    这篇文章给大家介绍WCF服务怎么利用JAVA进行调用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。.生成WCF客户端使用的就是上面提到的wsimport,如果您正确的配置了java环境变量,就可以直接在控制台中使用了,...
    99+
    2023-05-31
    java wcf ava
  • 如何从eureka获取服务的ip和端口号进行Http的调用
    目录eureka获取服务ip和端口号进行Http调用eureka页面中显示ip+端口eureka获取服务ip和端口号进行Http调用 我告诉你们为啥我要先从eureka首先获取 go...
    99+
    2022-11-13
  • Jar中的文件怎么利用Java进行读取
    这期内容当中小编将会给大家带来有关Jar中的文件怎么利用Java进行读取,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java读取Jar中的文件实现代码:import java.io.IOExc...
    99+
    2023-05-31
    java jar ava
  • Ubuntu中怎么利用TCP协议获取服务器时间
    这期内容当中小编将会给大家带来有关Ubuntu中怎么利用TCP协议获取服务器时间,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。代码如下:#include "unp.h"int main...
    99+
    2023-06-13
  • 利用Jacoco怎么获取Java 程序代码执行的覆盖率
    这篇文章将为大家详细讲解有关利用Jacoco怎么获取Java 程序代码执行的覆盖率,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Jacoco原理简介Jacoco通过修改喂给JVM的字节码来达...
    99+
    2023-06-06
  • 类路径下的文件怎么利用Java进行读取
    这篇文章将为大家详细讲解有关类路径下的文件怎么利用Java进行读取,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java 读取类路径下的文件一、工具类代码ResourceLoadUtil.j...
    99+
    2023-05-31
    java ava
  • 怎么利用JAVA实现可以自行关闭服务器
    这篇文章将为大家详细讲解有关怎么利用JAVA实现可以自行关闭服务器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JAVA实现可以自行关闭的服务器普通实现的服务器都无法关闭自身,只有依靠操作系统来强行终止服...
    99+
    2023-06-20
  • 在Java项目中使用Request怎么实现获取客户端的IP地址
    今天就跟大家聊聊有关在Java项目中使用Request怎么实现获取客户端的IP地址,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在JSP里,获取客户端的IP地址的方法是:reques...
    99+
    2023-05-31
    request java ip地址
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作