亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 IP 獲取地理定位(Spigot 1.8 和 1.13.2)

通過 IP 獲取地理定位(Spigot 1.8 和 1.13.2)

慕沐林林 2023-03-09 14:12:47
我只想通過提供 ip 地址來找出地理位置。我的目標是保存城市、國家、郵政編碼和其他信息。CraftPlayer cp = (CraftPlayer)p; String adress = cp.getAddress();任何短的可能性,僅通過使用 ip 來找出?
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

我推薦使用http://ip-api.com/docs/api:newline_separated

然后您可以選擇您需要的信息并創建您的 HTTP 鏈接,例如:

http://ip-api.com/line/8.8.8.8?fields=49471

此示例中的結果將是:


success

United States

US

VA

Virginia

Ashburn

20149

America/New_York

因此,您可以在 Java 中創建一個方法來讀取 HTTP 并將其拆分\n為獲取行:


private void whatever(String ip) {

    String ipinfo = getHttp("http://ip-api.com/line/" + ip + "?fields=49471");

    if (ipinfo == null || !ipinfo.startsWith("success")) {

        // TODO: failed

        return;

    }

    String[] lines = ipinfo.split("\n");

    // TODO: now you can get the info

    String country = lines[1];

    /*

    ...

     */

}


private static String getHttp(String url) {

    try {

        BufferedReader br = new BufferedReader(new InputStreamReader(new URL(url).openStream()));

        String line;

        StringBuilder sb = new StringBuilder();

        while ((line = br.readLine()) != null) {

            sb.append(line).append(System.lineSeparator());

        }

        br.close();

        return sb.toString();

    } catch (IOException e) {

        e.printStackTrace();

    }

    return null;

}

只需確保不要在短時間內創建太多查詢,因為 ip-api.com 會禁止您這樣做。


查看完整回答
反對 回復 2023-03-09
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

有很多網站提供免費的 IP 地理定位數據庫。

例子包括:

在插件啟動時,您可以下載這些數據庫之一,然后在運行時在本地查詢它。

如果您選擇下載 .bin 格式,則必須初始化本地數據庫,然后導入數據。否則,您可以將 csv 文件與opencsv之類的 Java 庫一起使用。

從 opencsv 的文檔:

對于閱讀,創建一個 bean 來存放您想要閱讀的信息,用 opencsv 注釋注釋 bean 字段,然后執行以下操作:

List<MyBean> beans = new CsvToBeanBuilder(FileReader("yourfile.csv"))
    .withType(Visitors.class).build().parse();

文檔鏈接: http: //opencsv.sourceforge.net


查看完整回答
反對 回復 2023-03-09
  • 2 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號