代码如下
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import javax.servlet.http.HttpServletRequest; public class sinaIpUtil { public static void main(String[] args) { String ip = "223.104.145.001"; String[] areaArr = getAreaInfoList(ip); for (int i = 0; i < areaArr.length; i++) { System.out.println(areaArr[i]); } } public static String[] getAreaInfoList(String ip){ String urlString = ""; String[] areaArr = new String[10]; String[] newAreaArr = new String[3]; urlString = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip="+ip; try { URL url = new URL(urlString); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.connect(); InputStream is = conn.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is,"gb2312")); String line =""; StringBuffer resultBuffer = new StringBuffer(); while ((line=br.readLine())!=null) { resultBuffer.append(line); } br.close(); is.close(); conn.disconnect(); areaArr = (resultBuffer.toString()).split(" "); newAreaArr[0] = areaArr[3]; newAreaArr[1] = areaArr[4]; newAreaArr[2]=areaArr[5]; } catch (Exception e) { // TODO: handle exception } return newAreaArr; } /** * * @param request * @param flag * 0:表示apache或者其它做主服务器; 1:表示nginx做主服务. * @return */ public static String getRemoteAddr(HttpServletRequest request, int flag) { String result = ""; int port = 80; try { port = request.getServerPort(); if (flag == 1) { if (port == 80) result = request.getHeader("X-Real-IP"); else result = request.getRemoteAddr(); } else { result = request.getRemoteAddr(); } } catch (Exception e) { ; } finally { return result; } } }
说说为什么我使用新浪的接口,起初是用的淘宝的接口,然后各种出错,因为我是想把库里以前的用户,根据Ip,新增对应的地区,需要大批量执行,结果用淘宝的接口,不是报超时,就是延缓,设置线程休眠,防止跨越淘宝规定的频率也不行,最后无奈只有舍去,结果用新浪的试下,什么都不用改,安静的稳定执行完毕,所以发出来供各位研究。
js方法
<script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" type="text/javascript"></script> <script type="text/javascript"> function getIpPlace() { alert(remote_ip_info["province"] + "省" + , + remote_ip_info["city"] + "市") } </script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口),包括了jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery获取访问者IP地址的方法。分享给大家供大家参考,具体如下: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jquery中Ajax用法总结》、《jQuery表格(t
问题内容: 我的任务是对詹金斯的一些工作进行健康检查。这个想法是通过Jenkins rest API获取作业的状态和关联的IP地址,因此我可以使用该信息与另一个Restful API进行接口。我创建了一个Groovy脚本,该脚本成功解析了Jenkins作业并获取了它们的状态(无论它们是否正在运行),但是我还没有找到一种将这些作业与其IP地址关联的方法。有没有办法通过其余的API获取Jenkins中
问题内容: 我当前正在使用Elasticsearch V2.3.1。我想在Java中使用以下Elasticsearch查询。 上面的查询搜索名为“ kimchy”的“用户”,并使用给定值更新“列表”字段。该查询同时更新多个文档。我在https://www.elastic.co/guide/en/elasticsearch/client/java- api/2.3/java-docs- update
本文向大家介绍通过Web Service实现IP地址查询功能的示例,包括了通过Web Service实现IP地址查询功能的示例的使用技巧和注意事项,需要的朋友参考一下 实例01 实现一个简单的Web服务访问 本实例将实现IP地址查询接口服务,根据用户传入的IP地址返回IP所在的省、市、地区,实例中将会用到IP地址库用于查询信息,由于数据较多,所以读者可在光盘资源文件中直接附加数据库文件,这里将不再
我想更新索引中的所有文档。我发现更新查询是我们应该使用的方法。但是,当我使用ctx._now作为更新文档字段的值时,我遇到了问题,导致字段值变为NULL。 这是示例: 当我使用随机数值时,它是工作。假设我把timenow=5。然后,All documents字段timenow变为5。但是,使用这种ctx方法是行不通的。 我该怎么做呢? 附加信息 示例:POST INDEX/TYPE/24/_UPD
demo import java.io.IOException; import java.net.*; /** * 查找IP地址 */ public class TestFindDNS { public static void main(String[] args) throws IOException { // String href = "http://