go語言實現IP歸屬地查詢

效果:

實現代碼main.go

package mainimport ("encoding/json""fmt""io/ioutil""net/http""os"
)type AreaData struct {Continent string `json:"continent"`Country   string `json:"country"`ZipCode   string `json:"zipcode"`Owner     string `json:"owner"`Isp       string `json:"isp"`Adcode    string `json:"adcode"`Prov      string `json:"prov"`City      string `json:"city"`District  string `json:"district"`
}type IpData struct {Code string   `json:"code"`Data AreaData `json:"data"`Ip   string   `json:"ip"`
}func main() {var args = os.Argsif len(args) > 1 {for index, val := range args {if index > 0 {fmt.Printf("parsms[%d]: %s\n", index, val)}}} else {fmt.Println("no args ip address to check exp: ./checkip 14.23.36.151")return}//ip := "14.23.36.151"url := fmt.Sprintf("https://qifu-api.baidubce.com/ip/geo/v1/district?ip=%s", args[1])resp, err := http.Get(url)if err != nil {fmt.Printf("Error making request: %v\n", err)return}defer resp.Body.Close()body, err := ioutil.ReadAll(resp.Body)if err != nil {fmt.Printf("Error reading response body: %v\n", err)return}var ipInfo IpDataerr = json.Unmarshal(body, &ipInfo)if err != nil {fmt.Printf("Error parsing JSON: %v\n", err)return}fmt.Printf("Code: %s\n", ipInfo.Code)fmt.Printf("Ip: %s\n", ipInfo.Ip)fmt.Printf("Continent: %s\n", ipInfo.Data.Continent)fmt.Printf("Country: %s\n", ipInfo.Data.Country)fmt.Printf("ZipCode: %s\n", ipInfo.Data.ZipCode)fmt.Printf("Owner: %s\n", ipInfo.Data.Owner)fmt.Printf("Isp: %s\n", ipInfo.Data.Isp)fmt.Printf("Adcode: %s\n", ipInfo.Data.Adcode)fmt.Printf("Prov: %s\n", ipInfo.Data.Prov)fmt.Printf("City: %s\n", ipInfo.Data.City)fmt.Printf("District: %s\n", ipInfo.Data.District)
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79684.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79684.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79684.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于STM32、HAL庫的SGTL5000XNLA3R2音頻接口芯片驅動程序設計

一、簡介: SGTL5000XNLA3R2 是 Cirrus Logic 推出的高性能、低功耗音頻編解碼器,專為便攜式和電池供電設備設計。它集成了立體聲 ADC、DAC、麥克風前置放大器、耳機放大器和數字信號處理功能,支持 I2S/PCM 音頻接口和 I2C 控制接口,非常適合與 STM32 微控制器配合使用。 二…

window 顯示驅動開發-報告圖形內存(一)

計算圖形內存 在 VidMm 能夠向客戶端報告準確的帳戶之前,它必須首先計算圖形內存的總量。 VidMm 使用以下內存類型和公式來計算圖形內存: 系統總內存 此值是操作系統可訪問的系統內存總量。 BIOS 分配的內存不會出現在此數字中。 例如,一臺…

[FA1C4] 博客鏈接

Blog Link 博客已經從 CSDN 轉移 高情商:博客是給人看的 低情商:CSDN 已經爛了根本不能看 鏈接: https://fa1c4.github.io/

python通過curl訪問deepseek的API調用案例

廢話少說,開干! API申請和充值 下面是deepeek的API網站 https://platform.deepseek.com/ 進去先注冊,是不是手機賬號密碼都不重要,都一樣,完事充值打米,主要是打米后左側API Keys里面創建一個API Keys&am…

【計算機視覺】OpenCV項目實戰:基于face_recognition庫的實時人臉識別系統深度解析

基于face_recognition庫的實時人臉識別系統深度解析 1. 項目概述2. 技術原理與算法設計2.1 人臉檢測模塊2.2 特征編碼2.3 相似度計算 3. 實戰部署指南3.1 環境配置3.2 數據準備3.3 實時識別流程 4. 常見問題與解決方案4.1 dlib安裝失敗4.2 人臉檢測性能差4.3 誤識別率高 5. 關鍵…

第6章: SEO與交互指標

第6章: SEO與交互指標 在當今的SEO環境中,Google越來越重視用戶交互指標,如頁面停留時長、交互性能等。本章將深入探討如何優化網頁速度和用戶交互體驗,以提升SEO效果和用戶滿意度。 1. Google的新時代SEO指標 隨著互聯網技術的發展&#xff…

Starrocks的主鍵表涉及到的MOR Delete+Insert更新策略

背景 寫這個文章的作用主要是做一些總結和梳理,特別是正對大數據場景下的實時寫入更新策略 COW 和 MOR 以及 DeleteInsert 的技術策略的演進, 這也適用于其他大數據的計算存儲系統。該文章主要參考了Primary Key table. 分析總結 Starrocks 的主鍵表主…

C 語言_常見排序算法全解析

排序算法是計算機科學中的基礎內容,本文將介紹 C 語言中幾種常見的排序算法,包括實現代碼、時間復雜度分析、適用場景和詳細解析。 一、冒泡排序(Bubble Sort) 基本思想:重復遍歷數組,比較相鄰元素,將較大元素交換到右側。 代碼實現: void bubbleSort(int arr[], i…

JIT+Opcache如何配置才能達到性能最優

首先打開php.ini文件,進行配置 1、OPcache配置 ; 啟用OPcache opcache.enable1; CLI環境下啟用OPcache(按需配置) opcache.enable_cli0; 預加載腳本(PHP 7.4,加速常用類) ; opcache.preload/path/to/prel…

Python訓練打卡Day23

機器學習管道 pipeline 基礎概念 pipeline在機器學習領域可以翻譯為“管道”,也可以翻譯為“流水線”,是機器學習中一個重要的概念。 在機器學習中,通常會按照一定的順序對數據進行預處理、特征提取、模型訓練和模型評估等步驟,以…

GPU SIMT架構的極限壓榨:PTX匯編指令級并行優化實踐

點擊 “AladdinEdu,同學們用得起的【H卡】算力平臺”,H卡級別算力,按量計費,靈活彈性,頂級配置,學生專屬優惠。 一、SIMT架構的調度哲學與寄存器平衡藝術 1.1 Warp Scheduler的調度策略解構 在NVIDIA GPU…

HarmonyOS 【詩韻悠然】AI古詩詞賞析APP開發實戰從零到一系列(二、項目準備與后臺服務搭建)

在開發一款面向HarmonyOS平臺的應用程序——【詩韻悠然】AI古詩詞賞析APP時,選擇了流行Go語言作為后端開發語言,并使用了go-zero微服務框架來搭建服務接口。本文將詳細介紹項目準備和后臺服務搭建的過程,幫助大家更好地理解和掌握go-zero框架…

QT5.14安裝以及新建基礎項目

進入qt中文網站:Qt | 軟件開發全周期的各階段工具 額,考慮新手可能還是找不到,我就分享一下我下載的的吧 通過網盤分享的文件:qt-opensource-windows-x86-5.14.2.exe 鏈接:https://pan.baidu.com/s/1yQTRp-b_ISje5B3UWb7Apw?pw…

深入解析 I/O 模型:原理、區別與 Java 實踐

一、I/O 模型的核心概念 I/O 操作的本質是數據在用戶空間(應用程序內存)和內核空間(操作系統內核內存)之間的傳輸。根據數據準備與拷貝階段的處理方式不同,I/O 模型可分為以下五類: 阻塞 I/O(…

EMQX v5.0通過連接器和規則同步數據

1 概述 EMQX數據集成功能,幫助用戶將所有的業務數據無需額外編寫代碼即可快速完成處理與分發。 數據集成能力由連接器和規則兩部分組成,用戶可以使用數據橋接或 MQTT 主題來接入數據,使用規則處理數據后,再通過數據橋接將數據發…

重構門店網絡:從“打補丁“到“造地基“的跨越

您是否遇到過這樣的窘境? 新店開張要等一周,就為裝根網線; 偏遠地區門店三天兩頭斷網,顧客排長隊卻結不了賬; 總部想看實時數據,結果收到一堆亂碼報錯; 總部ERP系統升級,2000家門…

PH熱榜 | 2025-05-13

1. FirstQuadrant 標語:通過以人為本的人工智能來最大化B2B銷售 介紹:銷售人工智能,幫助創始人和收益團隊提高效率,保持組織有序,并促成更多交易。它通過簡化銷售幕后工作,確保每個細節都不會遺漏。 產品…

【即插即用漲點模塊】【上采樣】CARAFE內容感知特征重組:語義信息與高效計算兩不誤【附源碼】

《------往期經典推薦------》 一、AI應用軟件開發實戰專欄【鏈接】 項目名稱項目名稱1.【人臉識別與管理系統開發】2.【車牌識別與自動收費管理系統開發】3.【手勢識別系統開發】4.【人臉面部活體檢測系統開發】5.【圖片風格快速遷移軟件開發】6.【人臉表表情識別系統】7.【…

esp32硬件支持AT指令

步驟1:下載AT固件 從樂鑫官網或Git鑫GitHub倉庫(https://github.com/espressif/esp-at)獲取對應ESP32型號的AT固件(如ESP32-AT.bin)。 步驟2:安裝燒錄工具 使用 esptool.py(命令行工具&#…

【神經網絡與深度學習】局部最小值和全局最小值

引言 在機器學習和優化問題中,目標函數的優化通常是核心任務。優化過程可能會產生局部最小值或全局最小值,而如何區分它們并選擇合適的優化策略,將直接影響模型的性能和穩定性。 在深度學習等復雜優化問題中,尋找全局最小值往往…