前端 js访问太平洋网IP接口地址,返回结果是403 服务器拒绝处理异常,

于是,想到了使用 服务器端访问,然后再将查询结果返回的前端

这是Java的测试源码,【具体的contronller端源码懒得写,其实基本一样】:

 1 public class GetLocationByIP {
2 @Test
3 public void IpUtils(){
4 String ip = "223.73.101.129";
5 System.out.println(SendGET(ip));
6 }
7
8 public static String SendGET(String ip){
9
10 String tpy = "http://whois.pconline.com.cn/ipJson.jsp?json=true&ip="+ip;
11 //访问返回结果
12 String result="";
13 //读取访问结果
14 BufferedReader read=null;
15
16 try {
17 //创建url
18 URL realurl=new URL(tpy);
19 //打开连接
20 URLConnection connection=realurl.openConnection();
21 // 设置通用的请求属性
22 connection.setRequestProperty("accept", "*/*");
23 connection.setRequestProperty("connection", "Keep-Alive");
24 connection.setRequestProperty("user-agent",
25 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
26 //建立连接
27 connection.connect();
28
29 // 获取所有响应头字段
30 Map<String, List<String>> map = connection.getHeaderFields();
31
32 // 遍历所有的响应头字段,获取到cookies等
33 for (String key : map.keySet()) {
34 System.out.println(key + "--->" + map.get(key));
35 }
36
37 // 定义 BufferedReader输入流来读取URL的响应
38 read = new BufferedReader(new InputStreamReader(
39 connection.getInputStream(),"gbk"));
40 String line;//循环读取
41 while ((line = read.readLine()) != null) {
42 result += line;
43 }
44 } catch (IOException e) {
45 e.printStackTrace();
46 }finally{
47 if(read!=null){//关闭流
48 try {
49 read.close();
50 } catch (IOException e) {
51 e.printStackTrace();
52 }
53 }
54 }
55 return result;
56 }
57 }

测试截图:

缺点:需要指定ip参数,否则查询的则是服务器网络的公网IP, 速度相对较慢,因为速度与服务器运算速度和网络波动有很大关系 ,因此不太提倡使用。

优点:无跨域问题。

java 访问 太平洋网ip接口,解决前端js 跨域访问失败问题的更多相关文章

  1. Asp.Net Web Api 接口,拥抱支持跨域访问。

    如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问. 由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的问题 ...

  2. 解决Js跨域访问的问题

    1,最近有个需求,用Js获取Html标签<input type="file"/>的路径!遇到代码拒绝访问,提示安全验证,不允许跨域访问,简单的设置一下浏览器即可,不过对 ...

  3. [转] 三种方法实现js跨域访问

    1.基于iframe实现跨域 基于iframe实现的跨域要求两个域具有aa.xx.com,bb.xx.com这种特点,也就是两个页面必须属于一个基础域(例如都是xxx.com,或是xxx.com.cn ...

  4. js跨域访问,No 'Access-Control-Allow-Origin' header is present on the requested resource

    js跨域访问提示错误:XMLHttpRequest cannot load http://...... No 'Access-Control-Allow-Origin' header is prese ...

  5. 三种方法实现js跨域访问

    转自:http://narutolby.iteye.com/blog/1464436 javascript跨域访问是web开发者经常遇到的问题,什么是跨域,一个域上加载的脚本获取或操作另一个域上的文档 ...

  6. java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据

    在开发的过程中,有时候我们需要设计一个数据接口.有时候呢,数据接口和Web服务器又不在一起,所以就有跨域访问的问题. 第一步:简单的设计一个数据接口. 数据接口,听起来高大上,其实呢就是一个简单的Se ...

  7. 【Todo】JS跨域访问问题的解决

    做双十一,需要在主会场页面,嵌入我们产品的JS豆腐块.而这个豆腐块需要调用我们后端的数据接口,涉及跨域访问. 参考 http://www.cnblogs.com/2050/p/3191744.html ...

  8. 如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问。

    由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的问题. 刚开始没做任何处理,用jsonp的方式调用 web api 接口, ...

  9. 前端Js跨域方法汇总—剪不断,理还乱,是跨域

    1.通过jsonp跨域2.通过修改document.domain来跨子域(iframe)3.隐藏的iframe+window.name跨域4.iframe+跨文档消息传递(XDM)5.跨域资源共享 C ...

随机推荐

  1. C#深入理解多态

    1.里氏替换原则 1.里氏替换原则:在一个软件系统中,如果子类出现在父类出现的位置,而整个软件功能又没有影响,那么咱们称为里氏替换. 2. 考试题:父类变量指向子类对象!! 3.里氏替换  是     ...

  2. 日历共享(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 为了某一个项目,我们建好了一整套的日历,除了标准日历里加上了所有的假期以外,其他来自火星的水星的金星的土星的木星的BT的不 ...

  3. .Net Core服务诊断排查

    前言: 近期在项目中出现了几次服务内存资源占用较高的情况,特回顾梳理下排查过程以及对相应问题的排查方法总结. 一.Dump抓取 抓取dump的方式有多种,下面介绍几种常用的: 1. 任务管理器中找到程 ...

  4. C# 使用163的SMTP服务器发送邮件

    string Receiver, string Subject, string content: //163邮箱发送配置 client = new System.Net.Mail.SmtpClient ...

  5. HSPICE与非门仿真

    一.HSPICE的基本操作过程 打开HSPICE程序,通过OPEN打开编写好的网表文件. 按下SIMULATE进行网表文件的仿真. 按下AVANWAVES查看波形图(仿真结果). 二. 网表文件结构总 ...

  6. LuoguP7593 凑数 题解

    Content 给定 \(n\) 个整数 \(1,2,\dots,n\),请问是否能从这 \(n\) 个数中恰好选 \(k\) 个数,使得这 \(k\) 个数的和为 \(s\). 数据范围:\(t\) ...

  7. CF734B Anton and Digits 题解

    Content 有 \(k_2\) 个 \(2\).\(k_3\) 个 \(3\).\(k_5\) 个 \(5\) 和 \(k_6\) 个 \(6\),你可以用这里面的数字来组成 \(256,32\) ...

  8. 【九度OJ】题目1177:查找 解题报告

    [九度OJ]题目1177:查找 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1177 题目描述: 读入一组字符串(待操作的),再读入 ...

  9. 【LeetCode】224. Basic Calculator 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 栈 参考资料 日期 题目地址:https://lee ...

  10. B. Petya and Exam

    B. Petya and Exam 题目链接 题意 给你一串字符,在这个串中所有出现的字符都是\(good\)字符,未出现的都是\(bad\)字符, 然后给你另一串字符,这个字符串中有两个特殊的字符, ...