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