{"id":284,"url":"https:\/\/web.daaee.cn\/.\/api\/ip\/index0.php","title":"IP\u5730\u7406\u4f4d\u7f6e\u67e5\u8be2\u5de5\u5177","content":"<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>IP\u5730\u7406\u4f4d\u7f6e\u67e5\u8be2\u5de5\u5177<\/title>\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n        }\n        \n        body {\n            background: linear-gradient(135deg, #1a2a6c, #b21f1f, #fdbb2d);\n            min-height: 100vh;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            padding: 20px;\n        }\n        \n        .container {\n            background-color: rgba(255, 255, 255, 0.95);\n            border-radius: 20px;\n            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);\n            width: 100%;\n            max-width: 900px;\n            padding: 40px;\n            text-align: center;\n        }\n        \n        header {\n            margin-bottom: 30px;\n        }\n        \n        h1 {\n            color: #2c3e50;\n            margin-bottom: 10px;\n            font-size: 2.5rem;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            gap: 15px;\n        }\n        \n        .subtitle {\n            color: #7f8c8d;\n            margin-bottom: 5px;\n            font-size: 1.1rem;\n        }\n        \n        .api-info {\n            background: #f8f9fa;\n            border-radius: 10px;\n            padding: 15px;\n            margin: 20px 0;\n            text-align: left;\n        }\n        \n        .api-info h3 {\n            color: #3498db;\n            margin-bottom: 10px;\n        }\n        \n        .api-info ul {\n            padding-left: 20px;\n        }\n        \n        .api-info li {\n            margin-bottom: 8px;\n            color: #555;\n        }\n        \n        .search-box {\n            display: flex;\n            margin: 30px 0;\n            position: relative;\n        }\n        \n        .search-box input {\n            flex: 1;\n            padding: 18px 25px;\n            border: none;\n            border-radius: 50px;\n            background: #f1f2f6;\n            font-size: 1.1rem;\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);\n            transition: all 0.3s ease;\n        }\n        \n        .search-box input:focus {\n            outline: none;\n            box-shadow: 0 5px 15px rgba(52, 152, 219, 0.3);\n        }\n        \n        .search-box button {\n            background: #3498db;\n            color: white;\n            border: none;\n            border-radius: 50px;\n            padding: 0 35px;\n            margin-left: 15px;\n            cursor: pointer;\n            font-size: 1rem;\n            font-weight: 600;\n            box-shadow: 0 5px 15px rgba(52, 152, 219, 0.4);\n            transition: all 0.3s ease;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n        \n        .search-box button:hover {\n            background: #2980b9;\n            transform: translateY(-2px);\n        }\n        \n        .info-text {\n            color: #7f8c8d;\n            margin-bottom: 20px;\n            font-size: 0.95rem;\n        }\n        \n        .result-container {\n            background: linear-gradient(135deg, #3498db, #2c3e50);\n            border-radius: 15px;\n            padding: 30px;\n            color: white;\n            text-align: left;\n            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transform: translateY(20px);\n            transition: all 0.5s ease;\n            margin-top: 30px;\n        }\n        \n        .result-container.show {\n            opacity: 1;\n            transform: translateY(0);\n        }\n        \n        .result-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            margin-bottom: 25px;\n            padding-bottom: 15px;\n            border-bottom: 1px solid rgba(255, 255, 255, 0.2);\n        }\n        \n        .result-title {\n            font-size: 1.5rem;\n            font-weight: 600;\n        }\n        \n        .api-tag {\n            background: rgba(255, 255, 255, 0.2);\n            padding: 5px 15px;\n            border-radius: 20px;\n            font-size: 0.9rem;\n        }\n        \n        .result-content {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n            gap: 20px;\n        }\n        \n        .info-card {\n            background: rgba(255, 255, 255, 0.15);\n            padding: 20px;\n            border-radius: 12px;\n            backdrop-filter: blur(10px);\n        }\n        \n        .info-card h3 {\n            font-size: 1rem;\n            color: rgba(255, 255, 255, 0.7);\n            margin-bottom: 10px;\n        }\n        \n        .info-card p {\n            font-size: 1.3rem;\n            font-weight: 600;\n        }\n        \n        .loading {\n            display: none;\n            text-align: center;\n            padding: 30px;\n        }\n        \n        .spinner {\n            width: 50px;\n            height: 50px;\n            border: 5px solid rgba(255, 255, 255, 0.3);\n            border-radius: 50%;\n            border-top: 5px solid #3498db;\n            animation: spin 1s linear infinite;\n            margin: 0 auto 20px;\n        }\n        \n        @keyframes spin {\n            0% { transform: rotate(0deg); }\n            100% { transform: rotate(360deg); }\n        }\n        \n        .error {\n            background: #e74c3c;\n            color: white;\n            padding: 20px;\n            border-radius: 10px;\n            margin-top: 20px;\n            display: none;\n        }\n        \n        .footer {\n            margin-top: 30px;\n            color: #7f8c8d;\n            font-size: 0.9rem;\n        }\n        \n        @media (max-width: 768px) {\n            .container {\n                padding: 30px 20px;\n            }\n            \n            h1 {\n                font-size: 2rem;\n            }\n            \n            .search-box {\n                flex-direction: column;\n            }\n            \n            .search-box button {\n                margin: 15px 0 0;\n                padding: 15px;\n            }\n            \n            .result-content {\n                grid-template-columns: 1fr;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <header>\n            <h1><i class=\"fas fa-map-marker-alt\"><\/i> IP\u5730\u7406\u4f4d\u7f6e\u67e5\u8be2\u5de5\u5177<\/h1>\n            <p class=\"subtitle\">\u4f7f\u7528\u591aAPI\u6e90\u786e\u4fdd\u67e5\u8be2\u7ed3\u679c\u7684\u51c6\u786e\u6027\u548c\u53ef\u9760\u6027<\/p>\n        <\/header>\n        \n        <div class=\"api-info\">\n            <h3><i class=\"fas fa-info-circle\"><\/i> \u652f\u6301\u7684API\u670d\u52a1\uff1a<\/h3>\n            <ul>\n                <li><strong>\u767e\u5ea6\u5730\u56feAPI<\/strong> - \u4f18\u5148\u4f7f\u7528\uff0c\u63d0\u4f9b\u57fa\u7840\u5730\u7406\u4f4d\u7f6e\u4fe1\u606f<\/li>\n                <li><strong>\u7f8e\u56e2\u5730\u56feAPI<\/strong> - \u5f53\u767e\u5ea6API\u4e0d\u53ef\u7528\u65f6\u4f5c\u4e3a\u5907\u7528<\/li>\n                <li><strong>SpeedTest.cn API<\/strong> - \u63d0\u4f9b\u8be6\u7ec6\u5730\u7406\u4f4d\u7f6e\u548c\u8fd0\u8425\u5546\u4fe1\u606f<\/li>\n            <\/ul>\n        <\/div>\n        \n        <form method=\"get\">\n            <div class=\"search-box\">\n                <input type=\"text\" name=\"ip\" placeholder=\"\u8f93\u5165IP\u5730\u5740 (\u4f8b\u5982: 221.213.24.219)\" value=\"\">\n                <button type=\"submit\"><i class=\"fas fa-search\"><\/i> \u67e5\u8be2\u4f4d\u7f6e<\/button>\n            <\/div>\n        <\/form>\n        \n        <p class=\"info-text\">\u63d0\u793a\uff1a\u5982\u679c\u4e0d\u8f93\u5165IP\u5730\u5740\uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u67e5\u8be2\u60a8\u7684\u5f53\u524dIP\u4f4d\u7f6e<\/p>\n        \n        <div class=\"loading\" id=\"loading\">\n            <div class=\"spinner\"><\/div>\n            <p>\u6b63\u5728\u67e5\u8be2IP\u4f4d\u7f6e\u4fe1\u606f...<\/p>\n        <\/div>\n        \n        <div class=\"error\" id=\"error\">\n            <p><i class=\"fas fa-exclamation-triangle\"><\/i> \u9519\u8bef\uff1a\u65e0\u6cd5\u83b7\u53d6IP\u4f4d\u7f6e\u4fe1\u606f\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5<\/p>\n        <\/div>\n        \n        <script>\n                document.getElementById(\"loading\").style.display = \"block\";\n                document.getElementById(\"error\").style.display = \"none\";\n                document.querySelector(\".result-container\")?.classList?.remove(\"show\");\n            <\/script><div class=\"result-container show\"><div class=\"result-header\"><div class=\"result-title\">IP\u5730\u7406\u4f4d\u7f6e\u4fe1\u606f<\/div><div class=\"api-tag\">\u6765\u6e90: SpeedTest.cn API<\/div><\/div><div class=\"result-content\"><div class=\"info-card\"><h3>IP\u5730\u5740<\/h3><p>117.40.82.181<\/p><\/div><div class=\"info-card\"><h3>\u56fd\u5bb6<\/h3><p>\u4e2d\u56fd<\/p><\/div><div class=\"info-card\"><h3>\u7701\u4efd<\/h3><p>\u6c5f\u897f<\/p><\/div><div class=\"info-card\"><h3>\u57ce\u5e02<\/h3><p>\u5357\u660c<\/p><\/div><div class=\"info-card\"><h3>\u533a\u53bf<\/h3><p><\/p><\/div><div class=\"info-card\"><h3>\u8fd0\u8425\u5546<\/h3><p>\u4e2d\u56fd\u7535\u4fe1<\/p><\/div><div class=\"info-card\"><h3>\u6570\u636e\u6765\u6e90<\/h3><p>SpeedTest.cn API<\/p><\/div><\/div><\/div><script>\n                document.getElementById(\"loading\").style.display = \"none\";\n            <\/script>        \n        <div class=\"footer\">\n            <p>\u672c\u5de5\u5177\u4f7f\u7528\u767e\u5ea6\u5730\u56feAPI\u3001\u7f8e\u56e2\u5730\u56feAPI\u548cSpeedTest.cn API\u63d0\u4f9b\u7684\u4f4d\u7f6e\u4fe1\u606f\u670d\u52a1<\/p>\n            <p>\u00a9 2023 IP\u5730\u7406\u4f4d\u7f6e\u67e5\u8be2\u5de5\u5177 | \u6280\u672f\u652f\u6301<\/p>\n        <\/div>\n    <\/div>\n    \n    <script>\n        \/\/ \u8868\u5355\u63d0\u4ea4\u65f6\u663e\u793a\u52a0\u8f7d\u72b6\u6001\n        const form = document.querySelector('form');\n        form.addEventListener('submit', function() {\n            document.getElementById('loading').style.display = 'block';\n            document.getElementById('error').style.display = 'none';\n            \n            \/\/ \u9690\u85cf\u4e4b\u524d\u7684\u67e5\u8be2\u7ed3\u679c\n            const resultContainer = document.querySelector('.result-container');\n            if (resultContainer) {\n                resultContainer.classList.remove('show');\n            }\n        });\n        \n        \/\/ \u81ea\u52a8\u805a\u7126\u5230\u8f93\u5165\u6846\n        document.querySelector('input[name=\"ip\"]').focus();\n        \n        \/\/ \u793a\u4f8bIP\u67e5\u8be2\n        const exampleIPs = ['221.213.24.219', '117.52.74.142', '8.8.8.8'];\n        let currentExample = 0;\n        \n        setInterval(() => {\n            const input = document.querySelector('input[name=\"ip\"]');\n            input.placeholder = `\u8f93\u5165IP\u5730\u5740 (\u4f8b\u5982: ${exampleIPs[currentExample]})`;\n            currentExample = (currentExample + 1) % exampleIPs.length;\n        }, 3000);\n    <\/script>\n<\/body>\n<\/html>"}