IPV4地址查询(全球版)
提供全球 IPv4 地址查询,覆盖全球国家与地区,精准定位 IP 归属地、运营商及经纬度信息,助力网络安全与全球化应用开发
套餐
普通会员
100次/天
VIP会员
月:5000次/天
高级VIP
月:11000次/天
钻石VIP
月:14000次/天
https://api.slsj.com/api/ref/ipv4-address
{ "code": 0, "msg": "操作成功", "result": { "adminCodeLevel1": "440000", "adminCodeLevel2": "440100", "adminCodeLevel3": "440106", "carrier": "中国电信", "city": "广州市", "continent": "亚洲", "country": "中国", "countryCode": "CN", "countryEn": "China", "createTime": "2025-06-23 10:10:53", "district": "天河区", "internationalCode": "+86", "latitude": "23.124817", "longitude": "113.361597", "orderId": "20250623101051630", "orderNumber": "512025062320000000798555", "province": "广东省" } }
{ "code": 400, "msg": "业务处理失败,请稍侯重试", "result": null }
package com.example.api.V106; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import static org.junit.jupiter.api.Assertions.*; import java.net.HttpURLConnection; import java.net.URL; import java.io.*; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.util.*; import java.util.stream.Collectors; import java.util.Base64; public class ApiTest1059 { // 签名相关的常量 private static final String SIGN_KEY = "XXXXXX"; // 替换为实际的签名密钥 private static final String USER_ID = "XXXXXXX"; // 替换为实际的用户编号 public static void main(String[] args) throws Exception { String apiUrl = "https://api.slsj.com/api/ref/ipv4-address"; String orderId = "1059001"; // 请求参数示例 String ip = "14.145.55.127"; // 请求参数示例 // 准备请求参数 Map<String, Object> params = new HashMap<>(); params.put("orderId", orderId); params.put("ip", ip); testVerification(apiUrl, params); } // 获取Auth_Token的方法 private static String getAuthToken() throws Exception { // 获取当前时间戳 long timestamp = System.currentTimeMillis(); // 按照文档拼接待加密字符串 String toEncrypt = "memberId=" + USER_ID + "dateTime=" + timestamp + "version=v1" + "key=" + SIGN_KEY; // MD5加密 MessageDigest md = MessageDigest.getInstance("MD5"); byte[] digest = md.digest(toEncrypt.getBytes(StandardCharsets.UTF_8)); String md5Result = bytesToHex(digest).toLowerCase(); // 创建鉴权Token的JSON对象 JSONObject authTokenObj = new JSONObject(); authTokenObj.set("memberId", USER_ID); authTokenObj.set("dateTime", timestamp); authTokenObj.set("version", "v1"); authTokenObj.set("signMd5", md5Result); String authToken = authTokenObj.toString(); return authToken; } // 辅助方法:将字节数组转换为十六进制字符串 private static String bytesToHex(byte[] bytes) { StringBuilder result = new StringBuilder(); for (byte b : bytes) { result.append(String.format("%02x", b)); } return result.toString(); } public static void testVerification(String apiUrl,Map<String, Object> params) throws Exception { // 获取鉴权Token String authToken = getAuthToken(); // 发送请求 HttpResponse response = HttpRequest.post(apiUrl) .header("Content-Type", "application/x-www-form-urlencoded") .header("Auth_Token", authToken) .header("Sign_Type", "md5") .form(params) .execute(); // 输出响应结果 int status = response.getStatus(); String responseBody = response.body(); System.out.println("响应状态码: " + status); System.out.println("响应内容: " + responseBody); // 验证响应码 assertEquals(HttpURLConnection.HTTP_OK, status, "Response code should be 200"); // 解析响应内容(假设响应是JSON格式) // JSONObject responseJson = JSONUtil.parseObj(responseBody); } }
代码信息正在添加中...
import hashlib import json import time import requests # 用户ID和密钥 user_id = "xxxxxx" # 替换为实际的用户编号 signature_key = "xxxxxxxxxxxxxxx" # 替换为实际的签名密钥 # 版本号 version = "v1" # 生成加密签名 def generate_auth_token(): query_time = int(time.time() * 1000) original_string = f'memberId={user_id}dateTime={query_time}version={version}key={signature_key}' md5_result = hashlib.md5(original_string.encode('utf-8')).hexdigest() auth_token = { "memberId": user_id, "dateTime": query_time, "version": version, "signMd5": md5_result } return auth_token # 请求接口并打印响应结果 request_url = 'https://api.slsj.com/api/ref/ipv4-address' params = { "orderId": "20250416094659001", "ip": "14.145.25.97" } headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Auth_Token': json.dumps(generate_auth_token()), 'Sign_Type': 'md5'} response = requests.post(headers=headers, url=request_url, data=params) if response.status_code == 200: print(response.json()) else: print(response.text)
ID:655
申请次数
25
收藏次数
认证要求
场景审核
联系电话:
400-000-6665
联系邮箱:
suilian@suiliantech.com
在线客服: