1 淘宝IP地址库的接口说明

在上一篇文章《WordPress使用淘宝IP地址库的API显示评论者的位置信息(一)》中,vfhky使用了新浪工具提供的这个IP接口显示博客评论者的位置信息。那么这篇文章就接着写在WordPress中使用淘宝IP地址库的API显示评论者的位置信息。这个功能的实现需要储备一些jQuery、json等基础知识,所以如果说上一篇是jQuery版本的新浪IP地址库的API应用,那么这篇文章就是jQuery版本的淘宝IP地址库的API应用。淘宝IP地址库的接口说明文档地址是:http://ip.taobao.com/instructions.php,大家可以去参考下。下面是在WP博客中如何利用淘宝IP地址库实现评论者位置详情的显示。

2.1 修改主题评论WEB结构(functis.php)

正如上一篇文章提到的,我们首先需要找到评论信息显示列表的那个文件(博主的是functions.php),在相应的位置加上如下代码。其作用是在jQuery获取IP信息之前,显示“正在查询……”的字样。代码中的waiting.gif是上面省略号的动态图片,这个看个人喜好来决定需不需要用;$ip代表从数据查询出来的评论者的IP数据。

<span class="vfhkyipquery" data-ip="' . $ip . '">正在查询<img src="' . get_bloginfo('template_url') . '/images/waiting.gif" alt="..." style="vertical-align:baseline;" /></span>
2.2 修改JS文件

找到主题文件目录下的一个js文件,然后添加以下代码(注意该js文件一定要是会在文章页面加载的哦!)最终的显示效果会类似于:中国江苏南京 电信。

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/************
*** @Function:jQuery获取淘宝IP地址库API返回的信息
*** @Author:vfhky http://vfhky.sinaapp.com 20130825
*** @param string GhpcyBpcy94db71979d35aBhIGV4YW1wbGUd7ebf4317e0de919 由Jquery传送过来的IP地址
*** @return string "<span class="ipinfo">中国江苏南京 电信</span>"
************/
$(document).ready(function(c){
function d(){
c(".vfhkyipquery").each(function(){
var a=c.trim(c(this).attr("data-ip")),i=c(this),h="";
var b="http://vfhky.sinaapp.com/MTBkN2ViZjQzMTdlMGR.php?GhpcyBpcy94db71979d35aBhIGV4YW1wbGUd7ebf4317e0de919=";
b+=a;
c.getJSON(b,function(e){
h+=e.data.country;
h+=e.data.region;
h+=e.data.city;
h+=" ";
h+=e.data.isp;
h=h.replace(/省/g,'');
h=h.replace(/市/g,'');
i.replaceWith("<span class="ipinfo">"+h+"</span>")
})
})
} c(function(){
d();
})
});
2.3 新建一个任意命名的PHP文件

新建一个平PHP文件,任意命名(但尽量复杂点),例如MTBkN2ViZjQzMTdlMGR.php。然后把这个文件放在博客的FTP根目录或者主题目录下面,只要记录这个文件的路径就行了,因为待会在jQuery中会用到它。这个PHP文件的主要功能是接收由Jquery文件传送过来的IP参数,然后拼接成一个淘宝IP库的API标准请求URL并读取接口返回的所有数据信息。具体代码如下所示:

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
/*********
*** @Filename:MTBkN2ViZjQzMTdlMGR.php
*** @Function:淘宝API的标准get请求报文
*** @Author:vfhky http://vfhky.sinaapp.com 20130825
*** @param string GhpcyBpcy94db71979d35aBhIGV4YW1wbGUd7ebf4317e0de919 其值代表由Jquery传送过来的IP地址
*** @return string $data 淘宝API返回的数据(包括Json格式的IP地址信息详情)
**********/ //prevent load this file directly
if (empty($_SERVER['HTTP_REFERER']) || strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']) === false) {
exit;
} $c572bd935510d7ebf4317e0de91994db71979d35a = trim($_GET['GhpcyBpcy94db71979d35aBhIGV4YW1wbGUd7ebf4317e0de919']); //check if the ip address is ipv4
if(!filter_var($c572bd935510d7ebf4317e0de91994db71979d35a, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
exit;
} //if the ip address is ipv4 then
$ip=explode(".",$c572bd935510d7ebf4317e0de91994db71979d35a); //check if the $ip is legel
for($i=0;$i<count($ip);$i++)
{
if($ip[$i]>255){
exit;
}
} //prevent the sql-injection(From:http://vfhky.sinaapp.com/web/php/20.html)
$c572bd935510d7ebf4317e0de91994db71979d35a = trim($c572bd935510d7ebf4317e0de91994db71979d35a);
$c572bd935510d7ebf4317e0de91994db71979d35a = strip_tags($c572bd935510d7ebf4317e0de91994db71979d35a,"");
$c572bd935510d7ebf4317e0de91994db71979d35a = str_replace("\n", "", str_replace(" ", "", $c572bd935510d7ebf4317e0de91994db71979d35a));
$c572bd935510d7ebf4317e0de91994db71979d35a = str_replace("\t","",$c572bd935510d7ebf4317e0de91994db71979d35a);
$c572bd935510d7ebf4317e0de91994db71979d35a = str_replace("\r\n","",$c572bd935510d7ebf4317e0de91994db71979d35a);
$c572bd935510d7ebf4317e0de91994db71979d35a = str_replace("\r","",$c572bd935510d7ebf4317e0de91994db71979d35a); //request for TAOBAO API to get data-infomation
$url572bd935510d7ebf4317e0de91994db71979d35a = "http://ip.taobao.com/service/getIpInfo.php?ip=".$c572bd935510d7ebf4317e0de91994db71979d35a;
$data = file_get_contents($url572bd935510d7ebf4317e0de91994db71979d35a); //output the return data from TAOBAO API including json-data(Format:http://ip.taobao.com/instructions.php)
echo $data;
?>
3 后记

三步就搞定了,也不是很难吧!那么这篇《WordPress使用淘宝IP地址库的API显示评论者的位置信息(二)》就算是jQuery版本的淘宝IP地址库的API调用。当然大家可能想到了,直接用PHP就可以实现了嘛。于是,下一篇文章就是PHP版本的《WordPress使用淘宝IP地址库的API显示评论者的位置信息(三)》

转载:https://typecodes.com/web/wptaoiplibapitwo.html

WordPress使用淘宝IP地址库的API显示评论者的位置信息(二)的更多相关文章

  1. Delphi使用JSON解析调用淘宝IP地址库REST API 示例

    淘宝IP地址库:http://ip.taobao.com,里面有REST API 说明. Delphi XE 调试通过,关键代码如下: var IdHTTP: TIdHTTP; RequestURL: ...

  2. 淘宝IP地址库采集器c#代码

    这篇文章主要介绍了淘宝IP地址库采集器c#代码,有需要的朋友可以参考一下. 最近做一个项目,功能类似于CNZZ站长统计功能,要求显示Ip所在的省份市区/提供商等信息.网上的Ip纯真数据库,下载下来一看 ...

  3. 淘宝IP地址库采集器c#

    个人原创.欢迎转载.转载请注明出处.http://www.cnblogs.com/zetee/articles/3482085.html 采集器概貌,如下: 最近做一个项目,功能类似于CNZZ站长统计 ...

  4. 用淘宝ip地址库查ip

    这是一个通过调用淘宝ip地址库实现ip地址查询的功能类 using System; using System.Collections.Generic; using System.Linq; using ...

  5. 淘宝IP地址库API接口(PHP)通过ip获取地址信息

    淘宝IP地址库网址:http://ip.taobao.com/ 提供的服务包括: 1. 根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家.省.市和运营商. 2. 用 ...

  6. 淘宝IP地址库采集

    作者:阿宝 更新:2016-08-31 来源:彩色世界(https://blog.hz601.org/2016/08/31/taobao-ip-sniffer/index.html) 简述 当初选择做 ...

  7. 淘宝IP地址库API地址

    淘宝IP地址库:http://ip.taobao.com/instructions.php   接口说明 1. 请求接口(GET): http://ip.taobao.com/service/getI ...

  8. 淘宝IP地址库

    淘宝官方ip地址库 http://ip.taobao.com/ 接口说明 1. 请求接口(GET): http://ip.taobao.com/service/getIpInfo.php?ip=[ip ...

  9. 淘宝ip地址库接口会导致TTFB时间变长,网站打开速度变慢

    前一段时间闲来无事发现别人的网站上有显示当前用户城市的功能,就自己也整了一个 这是淘宝ip地址库调用方法 然后问题就出现了,网站打开速度慢的要死 用F12发现是TTFB太慢,然后百度了,发现了问题的原 ...

随机推荐

  1. (数据科学学习手札47)基于Python的网络数据采集实战(2)

    一.简介 马上大四了,最近在暑期实习,在数据挖掘的主业之外,也帮助同事做了很多网络数据采集的内容,接下来的数篇文章就将一一罗列出来,来续写几个月前开的这个网络数据采集实战的坑. 二.马蜂窝评论数据采集 ...

  2. Binary Indexed Tree (Fenwick Tree)

    Binary Indexed Tree 主要是为了存储数组前缀或或后缀和,以便计算任意一段的和.其优势在于可以常数时间处理更新(如果不需要更新直接用一个数组存储所有前缀/后缀和即可).空间复杂度O(n ...

  3. j使用数组实现约瑟夫环 java

    我们首先来看一下约瑟夫环问题: 给定m个人,m个人围成一圈,在给定一个数n,从m个人中的第一个人每第n个人便将其除去,求被最后一个出去的人的编号. 思路: 建立一个长度为m+1的数组,将其的内容初始化 ...

  4. Hadoop HA高可用集群搭建(2.7.2)

    1.集群规划: 主机名        IP                安装的软件                            执行的进程 drguo1  192.168.80.149 j ...

  5. Java基础——NIO(一)通道与缓冲区

    一.概述 1.什么是NIO NIO即New IO,这个库是在JDK1.4中才引入的.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多. 在Java ...

  6. treegrid -表格树异步加载

    问题: 机构维护时,前端框架用的是easyui,如果同步全加载会出现页面延迟严重,影响用户体验 解决: 机构逐层加载,点击后加载 逐层加载会出现一个问题:子节点只有点击后才能加载子集 所以开始为叶子节 ...

  7. spring boot启动报内存溢出的问题

    问题: springBoot项目,已经两次了,启动报内存溢出,内存泄露 分析: 内存泄露是因为垃圾回收器想要回收程序不用的对象,但是该对象还有引用存在 解决: 1.第一次是mybatis文件和Java ...

  8. gdb调试带参数程序

    一般来说GDB主要调试的是C/C++的程序.要调试C/C++的程序,首先在编译时,我们必须要 把调试信息加到可执行文件中.使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点.如: > ...

  9. RHCE-EXAM 模拟题目

    真实考试环境说明: 你考试所用的真实物理机器会使用普通账号自动登陆,登陆后,桌面会有两个虚拟主机图标,分别是system1和system2.所有的考试操作都是在system1和system2上完成.S ...

  10. 搜索引擎ElasticSearch系列(三): ElasticSearch2.4.4 bigdesk插件安装

    一:ElasticSearch bigdesk插件简介 bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu.内存使用情况,索引数据.搜索情况, ...