Maison >Java >javaDidacticiel >Comment utiliser le code Java pour obtenir des informations sur la ville via l'adresse IP sur Baidu Maps ?
Comment utiliser le code Java pour obtenir des informations sur la ville via l'adresse IP sur Baidu Map ?
Vue d'ensemble :
Baidu Maps fournit une série d'interfaces API, permettant aux développeurs d'obtenir des informations de localisation géographique correspondantes en fonction des adresses IP. Ceci est très utile pour les applications qui nécessitent un affichage personnalisé basé sur l'adresse IP de l'utilisateur. Cet article explique comment utiliser le code Java pour obtenir la fonction d'obtention d'informations sur la ville via l'adresse IP.
Étapes :
import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.json.JSONObject; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; public class BaiduMapAPI { public static void main(String[] args) { String ip = "IP地址"; // 需要替换成要查询的IP地址 try { String ak = "你的AK"; // 需要替换成你的百度地图访问密钥 CloseableHttpClient client = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(String.format("https://api.map.baidu.com/location/ip?ip=%s&ak=%s", ip, ak)); CloseableHttpResponse response = client.execute(httpGet); HttpEntity entity = response.getEntity(); if (entity != null) { InputStream inputStream = entity.getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { stringBuilder.append(line); } JSONObject jsonObject = new JSONObject(stringBuilder.toString()); String city = jsonObject.getJSONObject("content").getString("address_detail").getString("city"); System.out.println("城市:" + city); } response.close(); client.close(); } catch (Exception e) { e.printStackTrace(); } } }
Instructions :
Dans le code ci-dessus, nous effectuons d'abord une requête HTTP en créant une instance de CloseableHttpClient
et spécifions l'URL à demander. Dans cette URL, nous utilisons le paramètre ip
pour spécifier l'adresse IP à interroger, et le paramètre ak
est la clé du développeur Baidu Map. CloseableHttpClient
的实例来进行HTTP请求,并指定需要请求的URL。在这个URL中,我们使用了ip
参数来指定需要查询的IP地址,ak
参数为百度地图开发者密钥。
接下来,我们发送HTTP请求并获取响应的实体。如果响应实体非空,则我们将其封装在InputStream
和BufferedReader
中,并逐行读取返回的JSON响应内容。我们使用JSONObject
InputStream
et BufferedReader
et lisons le contenu de la réponse JSON renvoyé ligne par ligne. Nous utilisons la classe JSONObject
pour analyser la réponse JSON, en extraire les informations sur la ville, puis l'imprimer. Enfin, nous fermons la réponse HTTP et le client HTTP.
Résumé :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!