原文url:http://www.cnblogs.com/van0328/p/lyh_van.html

1、  使用接口的方式:

这种方式是相对稳定,而且提供的数据相对稳定,提供接口的地方很多,大家可以参照

http://www.hujuntao.com/api/the-ip-address-api-and-call-the-interface-method.html

不一一讲解,只讲解一下新浪提供的接口:

新浪接口地址:http://int.dpool.sina.com.cn/iplookup/iplookup.php

参数有两个:format和ip

1)       IP:不传入ip值时默认为本机ip,也可以指定特定的ip地址;

2)       format:返回给客户端的数据格式有js和json格式:

a、  返回js格式:

eg:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=115.29.28.108

返回结果:var remote_ip_info = {"ret":1,"start":"115.28.0.0","end":"115.29.255.255","country":"\u4e2d\u56fd","province":"\u5317\u4eac","city":"\u5317\u4eac","district":"","isp":"\u7535\u4fe1","type":"\u673a\u623f","desc":"\u4e2d\u56fd\u4e07\u7f51\u673a\u623f\u7535\u4fe1"};

返回的结果给一个js变量,变量值为json格式,可以自己将Unicode字符转码为中文:

var remote_ip_info = {"ret":1,"start":"115.28.0.0","end":"115.29.255.255","country":"中国","province":"北京","city":"北京","district":"","isp":"电信","type":"机房","desc":"中国万网机房电信"};

b、  返回json格式:

eg:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=115.29.28.108

返回结果:

{"ret":1,"start":"115.28.0.0","end":"115.29.255.255","country":"\u4e2d\u56fd","province":"\u5317\u4eac","city":"\u5317\u4eac","district":"","isp":"\u7535\u4fe1","type":"\u673a\u623f","desc":"\u4e2d\u56fd\u4e07\u7f51\u673a\u623f\u7535\u4fe1"}

返回的结果直接是一个json格式的字符串,可以自己将Unicode字符转码为中文:

{"ret":1,"start":"115.28.0.0","end":"115.29.255.255","country":"中国","province":"北京","city":"北京","district":"","isp":"电信","type":"机房","desc":"中国万网机房电信"}

2、  直接请求网页:

这种方式很不建议使用,从网页生扒html信息,很不稳定,一旦别人的网页模板或者样式一旦改变,自己的代码也要跟着改变,很头痛的,一般都不建议采用这种方式,能够找到接口的最好用别人提供的api,下面提供一个地址让有兴趣的人去研究一下:

http://www.jb51.net/article/33540.htm

posted on 2014-04-12 19:59  学到老死  阅读(710)  评论(0)    收藏  举报