java 根據IP地址獲取地理位置
1. 第三方API
ps:下面引數ip:218.192.3.42 用於測試
淘寶API:http://ip.taobao.com/service/getIpInfo.php?ip=218.192.3.42
新浪API:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.192.3.42
pconline API:http://whois.pconline.com.cn/
百度API:http://api.map.baidu.com/location/ip?ip=218.192.3.42
2. 工具類
AddressUtils.java
- import java.io.BufferedReader;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.UnsupportedEncodingException;
- import java.net.HttpURLConnection;
- import java.net.URL;
- /**
- * 根據IP地址獲取詳細的地域資訊
- * 淘寶API : http://ip.taobao.com/service/getIpInfo.php?ip=218.192.3.42
- * 新浪API : http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.192.3.42
- * @File AddressUtils.java
- * @Package org.gditc.weicommunity.util
- * @Description TODO
- * @Copyright Copyright © 2014
- * @Site https://github.com/Cryhelyxx
- * @Blog http://blog.csdn.net/Cryhelyxx
- * @Email [email protected]
- * @Company GDITC
- * @Date 2014年11月6日 下午1:46:37
- * @author Cryhelyxx
- * @version 1.0
- */
- publicclass AddressUtils {
- /**
- *
- * @param content
- * 請求的引數 格式為:name=xxx&pwd=xxx
- * @param encoding
- * 伺服器端請求編碼。如GBK,UTF-8等
- * @return
- * @throws UnsupportedEncodingException
- */
- publicstatic String getAddresses(String content, String encodingString)
- throws UnsupportedEncodingException {
- // 這裡呼叫淘寶API
- String urlStr = "http://ip.taobao.com/service/getIpInfo.php";
- // 從http://whois.pconline.com.cn取得IP所在的省市區資訊
- String returnStr = getResult(urlStr, content, encodingString);
- if (returnStr != null) {
- // 處理返回的省市區資訊
- System.out.println("(1) unicode轉換成中文前的returnStr : " + returnStr);
- returnStr = decodeUnicode(returnStr);
- System.out.println("(2) unicode轉換成中文後的returnStr : " + returnStr);
- String[] temp = returnStr.split(",");
- if(temp.length<3){
- return"0";//無效IP,區域網測試
- }
- return returnStr;
- }
- returnnull;
- }
- /**
- * @param urlStr
- * 請求的地址
- * @param content
- * 請求的引數 格式為:name=xxx&pwd=xxx
- * @param encoding
- * 伺服器端請求編碼。如GBK,UTF-8等
- * @return
- */
- privatestatic String getResult(String urlStr, String content, String encoding) {
- URL url = null;
- HttpURLConnection connection = null;
- try {
- url = new URL(urlStr);
- connection = (HttpURLConnection) url.openConnection();// 新建連線例項
- connection.setConnectTimeout(2000);// 設定連線超時時間,單位毫秒
- connection.setReadTimeout(2000);// 設定讀取資料超時時間,單位毫秒
- connection.setDoOutput(true);// 是否開啟輸出流 true|false
- connection.setDoInput(true);// 是否開啟輸入流true|false
- connection.setRequestMethod("POST");// 提交方法POST|GET
- connection.setUseCaches(false);// 是否快取true|false
- connection.connect();// 開啟連線埠
- DataOutputStream out = new DataOutputStream(connection
- .getOutputStream());// 開啟輸出流往對端伺服器寫資料
- out.writeBytes(content);// 寫資料,也就是提交你的表單 name=xxx&pwd=xxx
- out.flush();// 重新整理
- out.close();// 關閉輸出流
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- connection.getInputStream(), encoding));// 往對端寫完資料對端伺服器返回資料
- // ,以BufferedReader流來讀取
- StringBuffer buffer = new StringBuffer();
- String line = "";
- while ((line = reader.readLine()) != null) {
- buffer.append(line);
- }
- reader.close();
- return buffer.toString();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if (connection != null) {
- connection.disconnect();// 關閉連線
- }
- }
- returnnull;
- }
- /**
- * unicode 轉換成 中文
- *
- * @author fanhui 2007-3-15
相關推薦
java 根據IP地址獲取地理位置
1. 第三方API ps:下面引數ip:218.192.3.42 用於測試 淘寶API:http://ip.taobao.com/service/getIpInfo.php?ip=218.192.3.42 新浪API:http://int.dpool.sina.
java實現根據ip地址獲取地理位置
記錄學習使用,轉載地址:http://www.jb51.net/article/54287.htm 程式呼叫了“騰訊ip分享計劃”提供的介面,當然也可以改成ip138提供的介面,不過這兩個網站返回的字串格式有些不同,要分別做解析。 public String getAdd
根據ip地址獲取地理位置及座標
根據ip獲取地理位置資訊,不用http和webservice介面,減少請求時間。我們可以利用了GeoLite2 庫,GeoLite2 資料庫是一個免費的 IP 地理定位資料庫,GeoLite2 Country 與 City 資料庫在每月的第一個週二更新。GeoLite2 AS
java根據ip地址獲取詳細地域資訊
網際網路有很多介面可以實現通過ip查詢到具體的位置,如下: 通過淘寶IP地址庫獲取IP位置 1. 請求介面(GET):http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串] 2. 響應資訊:(
前端使用js根據ip地址獲取城市地理位置
前端使用js根據ip地址獲取城市地理位置
Java 根據 IP 地址來獲取 位置 -- 使用 ip2region
首先在 maven 裡面引入 ip2region : <dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId&
Android 根據IP地址獲取城市
manifest中要加的permission和activity_main.xml 參照上。 MainActivity.java package com.example.test; import java.util.List; import java.util.Loc
根據ip地址獲取所在省市城市地區的真實地址/php函式
/*獲取客戶端ip*/ function _get_ip(){ if (isset($_SERVER['HTTP_CLIENT_IP']) && strcasecmp($_SER
PHP開發小技巧②③—根據ip地址獲取城市
這個方法我們用的還是比較多的,便於收集資訊用於資料探勘分析。此方法不光根據ip地址進行獲取當前城市還可以根據http請求獲取使用者的城市位置。 實現方法:主要是根據高德地圖API進行獲取,首先註冊成為高德地圖使用者,然後認證成為開發者,建
根據ip地址獲取城市
<?php /** * Created by PhpStorm. * User: xym * Date: 2018/1/15 * Time: 下午1:57 */ function getIPLoc_sina($queryIP){ $url = 'http:/
java 根據圖片地址獲取到圖片的大小,單位kb或者Mb
/** * byte(位元組)根據長度轉成kb(千位元組)和mb(兆位元組) * * @param bytes * @return */
java 根據ip獲取地址
try throw quest pin end china args 超時時間 con 用淘寶接口:(源碼:java 根據IP地址獲取地理位置) pom.xml: <!-- https://mvnrepository.com/artifact/net.sourcef
Java根據HttpServletRequest請求獲取伺服器的IP地址
以下總結了兩種根據HttpServletRequest請求獲取發出請求瀏覽器客戶端所在伺服器的IP地址方法: 程式碼: import javax.servlet.http.HttpServletRequest; /** * 根據HttpServletRequest請求獲取發出請求瀏覽器客戶端
Java根據HttpServletRequest請求獲取服務器的IP地址
client -i 根據 請求 代碼 brush clas get tip 以下總結了兩種根據HttpServletRequest請求獲取發出請求瀏覽器客戶端所在服務器的IP地址方法: 代碼: import javax.servlet.http.HttpServlet
根據ip地址和子網掩碼獲取廣播地址的java實現
/** * 獲取廣播地址 * */ public static String getBroadcastAddress(String subnet, String ip) { String[] ips = ip.split("\\."); String[]
基於HTML5的Geolocation獲取地理位置,配合Google Map API反向地址解析(獲取用戶真實地址)
add current 經緯度 cati arr offset 類型 html maps 基於HTML5的Geolocation獲取地理位置,配合Google Map API反向地址解析(獲取用戶真實地址) html 1 <!DOCTYPE html>
Java根據IP獲取國家省級地市信息
object ringbuf from rgs buffere while except pro open package com.ust.map; import java.io.BufferedReader;import java.io.IOException;impor
jquery 獲取客戶端ip地址 和 地區位置
搜狐IP地址查詢介面(預設GBK):http://pv.sohu.com/cityjson 搜狐IP地址查詢介面(可設定編碼):http://pv.sohu.com/cityjson?ie=utf-8 使用搜狐介面demo: <p id="ip"></p> <
根據百度地圖的api自動獲取地理位置
功能:根據百度地圖的api 版本:php版本 步驟1:獲取地理位置資訊 function get_city($ip){ $url = "http://api.map.baidu.com/location/ip?ak=CKbKvNu2m9SaYuWQgk4zn
獲取經緯度&根據經緯度獲取地理位置
package com.example.ceshi; import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; import android.location