1. 程式人生 > >Linux環境下java後臺獲取外網IP

Linux環境下java後臺獲取外網IP

  1. 專案測試時有測試ip,之後給分配公網ip.那麼怎麼獲取公網ip呢
  2. 通過一個網路代理去獲取對應的資訊,返回的是一個Json,需要建立一個類接收,之後在取出來
  3. 程式碼

接收的類

import java.io.Serializable;

public class IpMessage implements Serializable{
    private String ip;
    private String address;

    public IpMessage() {
    }

    public IpMessage(String ip, String address) {
        this
.ip = ip; this.address = address; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }

對應的介面

public interface GetIPAddressService {
    String getNetIp();
}

對應的實現類

@Service
@Transactional(rollbackFor = Exception.class)
public class GetIPAddressServiceImpl implements GetIPAddressService {
    public static String getRemoteIp() {
        InputStream in = null;
        StringBuffer buffer = new
StringBuffer(); try { URL url = new URL("http://ip.chinaz.com/getip.aspx"); //建立 URL in = url.openStream(); // 開啟到這個URL的流 BufferedReader reader = new BufferedReader(new InputStreamReader(in,"UTF-8")); String inputLine = ""; while ((inputLine = reader.readLine()) != null) { buffer.append(inputLine); } }catch (Exception e) { e.printStackTrace(); } finally { try { in.close(); } catch (Exception e) { e.printStackTrace(); } } return buffer.toString(); } @Override public String getNetIp() { JsonTool JsonTool = new JsonTool(); IpMessage ipMessage = JsonTool.toBean(IpMessage.class,getRemoteIp()); return ipMessage.getIp(); } }

呼叫getNetIp()方法就可以得到對應的ip。

相關推薦

Linux環境java後臺獲取IP

專案測試時有測試ip,之後給分配公網ip.那麼怎麼獲取公網ip呢 通過一個網路代理去獲取對應的資訊,返回的是一個Json,需要建立一個類接收,之後在取出來 程式碼 接收的類 import jav

linux環境分別在有無的條件docker安裝ffmpeg

首先需要安裝並啟動docker centos7 安裝docker (其他系統請自行百度) yum -y install docker systemctl start docker 一、有外網環境  docker pull cafetime/ffmpeg 二、無外網

Linux環境java環境搭建一 JDK搭建

shell dt.jar 移動 之前 下載 環境變量path his exp 格式 第一步:下載jdk壓縮文件 第二步:上傳到家目錄下的soft目錄下,可以采用winscp,此處下載的是.tar.gz文件 第三步:解壓壓縮文件,並在/usr/local目錄下創建一個jdk7

教你用shell指令碼在Linux獲取IP地址

基於Linux系統的獲取外網IP地址的shell指令碼,指令碼內容如下: getIp.sh #!/bin/bash #檢查IP的合法性 check_ipaddr() { echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}

Linux環境Java環境(開發&伺服器)的搭建

Linux環境下Java環境(開發&伺服器)的搭建 我是用的是ubuntu16.04lts.其他版本的Linux的做法與該版本並沒有太大不同. 首先我想說一下為什麼選用Ubuntu而不是wi

Linux 環境 Java jdk 安裝方法 注:此方法為 jdk.bin型別的jdk檔案

1、將jdk檔案放到一個目錄下  例如:jdk.bin   例如  /usr/java  放到了這個這個目錄下 2、然後利用命令檢視目錄下是否有此檔案 # cd /usr/java # ls 如果顯示檔案  jdk.bin 3、解壓jdk.bin檔案 # chmod 755 jdk.bin # ./jdk.b

java程式碼實現IP獲取

private static String getMyIP() throws IOException { InputStream ins = null; try { String l = "http://1

Linux 環境C/C++獲取系統時間 && 每隔500ms迴圈一次程式碼實現

環境:NetBeans IDE 8.2 + 遠端主機Linux 獲取當前系統時間getCurrentTime()程式碼如下: #include<sys/time.h> long getCurrentTime(){ struct timeval tv; gett

Linux環境java呼叫ffmpeg命令進行視訊轉碼

1.這是在Linux系統下的程式碼,我執行後可以轉換成功: import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import

Linux環境java開發環境搭建四 mysql密碼忘記找回

pri 配置 tables edi ant ngs oca 登錄mysql tor 第一步:在/etc/my.cnf配置文件中加入skip-grant-tables [mysqld] basedir=/usr/local/mysql datadir=/usr/lo

VC++獲取IP的幾個方法

一、CHttpFile方式 #include <afxinet.h> int GetNetIp(char *IpAddr) { try  {   CInternetSession session("HttpClient");   char * url = "ht

c++ 獲取ip地址

// 外部呼叫 ============================================== networkip.GetLocalIP(); string retip = networkip.GetInternetIP(); // 封裝實現 =======

android 根據網路來獲取ip地址及國家,地區的介面

新浪的IP地址查詢介面:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 新浪多地域測試方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?form

java 後臺獲取客戶端ip地址

// java 後臺獲取訪問客戶端ip地址 protected String getClientIpAddress(HttpServletRequest request) {

C#獲取IP地址;C#獲取所在IP城市地址

public static string GetIP()         {             using (var webClient = new WebClient())             {                 try            

自動獲取ip

$ curl ifconfig.me $ curl icanhazip.com $ curl ident.me $ curl ipecho.net/plain $ curl whatismyip.akamai.com $ curl tnx.nl/ip $ curl myi

IOS 獲取IP 及 GBK 轉碼 (UTF-8)

- (void)viewDidLoad {     [superviewDidLoad]; NSURL *url = [NSURLURLWithString:@"http://fw.qq.com/ipaddress"]; NSMutableURLRequest *requ

Linux環境執行java -jar xxx.jar命令如何讓springboot專案在後臺執行

段落引用> 由於springboot內建了tomcat容器,我們通常會把專案打成jar或者war後直接使用java -jar xxx.jar命令去執行程式,但是當前ssh視窗被鎖定或者按下ctrl+c又或者關閉了ssh視窗,那麼程式就會被終止。如何讓程式在後臺保持執行不被關閉呢? 解決方法

Linux環境執行java -jar xxx.jar命令如何讓springboot項目在後臺運行

輸出 而是 kill -9 命令執行 ctrl jar command linu amp 段落引用> 由於springboot內置了tomcat容器,我們通常會把項目打成jar或者war後直接使用java -jar xxx.jar命令去運行程序,但是當前ssh窗口被

Linux shell 命令行查詢IP

shell命令行查ip查詢IP在網頁上打開網址就可以顯示,但是在命令行下可以安裝w3m/Links/Lynx這些命令行瀏覽器,但是為了這個又感覺不方便,所以很多查IP網站提供了UNIX/LINUX的。命令行查詢(詳細): UNIX/Linux: #curl cip.cc Windows: >tel