可用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 的结果。

