国内大型网站提供的 IP API接口调用方法

今天群里有人问到 IP API 的调用方法,他说一些实用的jQuery代码片段中的 jQuery得到用户IP 不起作用。我查看了下,调用没有问题,于是想到应该是 GWF 干的好事。如我上网经常在墙外,调用结果如下:


关于这个不多说了,越说越气愤。我们看看如何使用国内几个门户网站提供的 IP API 的使用方法,我个人不喜欢腾讯提供的,它使用的是gb2312编码,这里仅以搜狐提供的 IP API 说明下。使用时,可先将地址拷贝到浏览器中看下返回结果,在进行合理的调用。如调用搜狐提供的 IP API 方法如下:

<script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
<script>
    var result = returnCitySN;
    var city = returnCitySN.cname;
</script> 

结果如下:


群里朋友使用时不注意返回类型,从而使用getJSON来获取结果,导致失败。以下是几大门户网站提供的 IP API 地址:

  • 腾讯的IP地址API接口地址:http://fw.qq.com/ipaddress
  • 新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
  • 新浪多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=219.242.98.111
  • 搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson
  • 搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8
  • 搜狐另外的IP地址查询接口:http://txt.go.sohu.com/ip/soip
  • 淘宝的IP接口地址: http://ip.taobao.com/instructions.php 
  • 还有一个 API比较全面 
    http://whois.pconline.com.cn 这个很强大 也比较详细 
    但是这个有问题 他JSON格式 属于回调 
另外收费的API接口地址:
百度的API:http://apistore.baidu.com/apiworks/servicedetail/114.html
国外IPAPI:http://www.ip-api.com/
91查API:http://www.91cha.com/api/ip.html
民间Ip:http://xn--ip-im8ckc.com/
中国IP地址信息查询系统: http://cnisp.org/

另外自己也可以编写程序自己筛选ip地址
方法一:利用apnic获取准确的IP地址
 http://blog.sina.com.cn/s/blog_495161310100js5t.html
方法二:配置GeoIP和纯真IP库显示IP地理位置信息
http://blog.hackroad.com/operations-engineer/linux_server/3331.html
其他IP段查询:http://ips.chacuo.net/view/s_SC

作者:天府云创
除非注明,文章均为原创,转载时必须以链接形式标明本文地址。
本文地址: http://blog.csdn.net/enweitech
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在编程中,我们可以使用shell脚本调用api接口来实现各种功能。下面是使用shell调用api接口方法: 首先,我们需要在shell脚本中使用curl命令来发送HTTP请求。curl是一个功能强大的命令行工具,可以用来发送HTTP请求并接收响应。 使用curl发送GET请求的示例代码如下: ```shell #!/bin/bash api_url="http://api.example.com/api/endpoint" response=$(curl -s $api_url) echo $response ``` 在上面的例子中,我们通过将api的URL赋值给变量`api_url`,然后使用`curl -s`命令来发送GET请求并将结果保存在`response`变量中。最后,我们使用`echo`命令将响应输出到控制台。 如果需要发送POST请求,我们可以使用`-X POST`参数加上`-d`参数来传递请求体数据。示例代码如下: ```shell #!/bin/bash api_url="http://api.example.com/api/endpoint" data="{"key1":"value1","key2":"value2"}" response=$(curl -s -X POST -d "$data" $api_url) echo $response ``` 在上面的例子中,我们将请求体数据存储在`data`变量中,并使用`-X POST`参数告诉curl发送POST请求。`-d`参数用于传递请求体数据。 另外,我们还可以在curl命令中使用`-H`参数来设置请求头。示例代码如下: ```shell #!/bin/bash api_url="http://api.example.com/api/endpoint" data="{"key1":"value1","key2":"value2"}" headers="-H 'Content-Type: application/json' -H 'Authorization: Bearer xxx'" response=$(curl -s -X POST -d "$data" $headers $api_url) echo $response ``` 在上面的例子中,我们在变量`headers`中设置了两个请求头:`Content-Type`和`Authorization`。然后,我们在curl命令中使用`$headers`来传递这些请求头。 通过上述示例代码,我们可以使用shell脚本调用api接口,并处理api的响应结果。当然,为了代码的安全性和可维护性,我们还可以对请求进行错误处理、日志记录等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值