当前位置:实例文章 » 其他实例» [文章]可用ip地址查询接口

可用ip地址查询接口

发布人:shili8 发布时间:2024-12-25 23:21 阅读次数:0

**IP 地址查询接口**

### 接口描述该接口用于获取指定 IP 地址的详细信息,包括地理位置、ISP 等信息。

### 请求方式* GET /ip/{ip}

### 请求参数| 参数名 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| ip | string | 是 | 需要查询的 IP 地址 |

### 响应结果#### 成功响应

json{
 "code":200,
 "message": "",
 "data": {
 "ip": "192.168.1.1",
 "country": "中国",
 "province": "广东省",
 "city": "深圳市",
 "isp": "中国电信"
 }
}


#### 失败响应
json{
 "code":400,
 "message": "IP 地址无效",
 "data": null}


### 接口实现#### 使用 Python 的 Flask 框架实现接口首先,我们需要安装必要的依赖包:

bashpip install flask requests


然后,我们可以编写以下代码:

from flask import Flask, request, jsonifyimport requestsapp = Flask(__name__)

# IP 地址查询接口@app.route('/ip/<string:ip>', methods=['GET'])
def get_ip_info(ip):
 try:
 # 使用第三方 API 查询 IP 地址信息 url = f' /> response = requests.get(url)
 data = response.json()
 # 返回查询结果 return jsonify({
 'code':200,
 'message': '',
 'data': {
 'ip': ip,
 'country': data['country'],
 'province': data['region'],
 'city': data['city'],
 'isp': data['isp']
 }
 })
 except Exception as e:
 # 返回错误信息 return jsonify({
 'code':400,
 'message': str(e),
 'data': None })

if __name__ == '__main__':
 app.run(debug=True)


#### 使用 Node.js 的 Express 框架实现接口首先,我们需要安装必要的依赖包:

bashnpm install express axios


然后,我们可以编写以下代码:

javascriptconst express = require('express');
const axios = require('axios');

const app = express();

// IP 地址查询接口app.get('/ip/:ip', async (req, res) => {
 try {
 // 使用第三方 API 查询 IP 地址信息 const url = ` /> const response = await axios.get(url);
 const data = response.data;
 // 返回查询结果 res.json({
 code:200,
 message: '',
 data: {
 ip: req.params.ip,
 country: data.country,
 province: data.region,
 city: data.city,
 isp: data.isp }
 });
 } catch (error) {
 // 返回错误信息 res.status(400).json({
 code:400,
 message: error.message,
 data: null });
 }
});

app.listen(3000, () => {
 console.log('Server listening on port3000');
});


### 使用示例使用以下命令测试接口:

bashcurl  />
或
bashaxios.get(' /> .then(response => console.log(response.data))
.catch(error => console.error(error));

### 注意事项* 本接口仅用于测试和学习目的,不建议在生产环境中使用。
* 使用第三方 API 查询 IP 地址信息时,请遵循其协议和限制。
* 接口返回的数据可能会有所不同,具体取决于第三方 API 的结果。

相关标签:接口
其他信息

其他资源

Top