{"id":1720,"date":"2022-03-14T16:08:05","date_gmt":"2022-03-14T08:08:05","guid":{"rendered":"https:\/\/dasmz.com\/?p=1720"},"modified":"2022-03-14T16:21:49","modified_gmt":"2022-03-14T08:21:49","slug":"%e7%a7%81%e6%9c%89%e5%8c%96%e9%83%a8%e7%bd%b2%e8%87%aa%e5%b7%b1%e7%9a%84ip%e5%9c%b0%e7%90%86%e4%bd%8d%e7%bd%ae%e6%95%b0%e6%8d%ae%e5%ba%93-2022-3-14","status":"publish","type":"post","link":"https:\/\/dasmz.com\/?p=1720","title":{"rendered":"\u79c1\u6709\u5316\u90e8\u7f72\u81ea\u5df1\u7684IP\u5730\u7406\u4f4d\u7f6e\u6570\u636e\u5e93 2022-3-14"},"content":{"rendered":"\n<p>\u9700\u6c42<\/p>\n\n\n\n<p>\u5404\u7c7b\u516c\u7f51\u7684\u6570\u636e\u5e93\uff0c\u90fd\u9650\u5236\u4e86\u8bf7\u6c42\u9891\u6b21\uff0c\u6709\u65f6\u5019\uff0c\u81ea\u5df1\u9700\u8981\u6279\u91cf\u7684\u67e5\u8be2\u9700\u6c42\uff0c\u5f97\u4e0d\u5230\u6ee1\u8db3\uff0c\u4e8e\u662f\uff0c\u6709\u4e86\uff0c\u81ea\u5df1\u638c\u63e1\u6570\u636e\uff0c\u81ea\u5df1\u642d\u5efa\u53ef\u4f9b\u67e5\u8be2\u670d\u52a1\u7684\u9700\u6c42<\/p>\n\n\n\n<p>\u6e05\u5355<\/p>\n\n\n\n<p>1\u3001\u6570\u636e\u5e93<\/p>\n\n\n\n<p>2\u3001\u57fa\u4e8eFlask\u7684API\u63a5\u53e3\u6a21\u5757<\/p>\n\n\n\n<p>\u914d\u7f6e\u6e05\u5355<\/p>\n\n\n\n<p>1\u3001\u4e3b\u7a0b\u5e8f\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#!\/usr\/bin\/python3\n# -*- coding: utf-8 -*-\n# Dasmz\n# 2022-3-14\n\nimport datetime\nimport time\nimport flask\nimport ipaddress\nimport sqlite3\n\nimport ISO_3166_1\n\nmyDB = '\u8fd9\u91cc\u662f\u6570\u636e\u5e93\u7684\u6587\u4ef6\u8def\u5f84'\n\ndef getNow():\n    return datetime.datetime.now().strftime(\"%Y-%m-%d %H:%M:%S\")\n    \n\ndef IPIsValid(vIPv4):\n    try:\n        vBLACKIPs = ['8.8.8.8', '1.1.1.1','0.0.0.0','255.255.255.255','192.168.1.1','1.0.0.0','6.6.6.6']\n        if ipaddress.IPv4Address(vIPv4) != ipaddress.IPv4Address('127.0.0.1') and vIPv4 not in vBLACKIPs:\n            return 'Y'\n        else:\n            return 'N'\n    except Exception as e:\n        print(e)\n        print('Tracker.Error.82aE9F6a40E38E40.IPIsValid')\n        return 'N' \n\ndef getIPNetwork(aIPv4):\n    x = aIPv4.split('.')\n    x[3] = '0'\n    return '.'.join(x)\n\ndef getIPRangeNetwork(aIPv4):\n    x = aIPv4.split('.')\n    return [\"%s.%s.%d.0\" % (x[0],x[1],i) for i in range(0,256)]\n\ndef runSelectSQL(aDB, aSQL):\n    '''\n    RETURN LIST\n    '''\n    try:\n        conn = sqlite3.connect(aDB)\n        csr = conn.cursor()\n        csr.execute(aSQL)\n        vData = csr.fetchall()\n        conn.close()\n        return vData     \n    except Exception as e:\n        print(\"Tracker.Error.82aE9F6a40E38E40.runSelectSQL\")\n        print(e)\n        return []\n    finally:\n        conn.close() \n\ndef procedureIP(aIPv4):\n    try:\n        vIP  = getIPNetwork(aIPv4 = aIPv4)    # 202.23.99.44 -> 202.23.99.0\n        vSQL = \"select location from ip where ip = '%s';\" % vIP\n        print(\" + SQL: %s\" % vSQL)\n        vData = runSelectSQL(aDB = myDB, aSQL = vSQL)\n        if vData[0][0]:\n            if vData[0][0].startswith('CN-'):\n                return vData[0][0].split()[0].replace('CN-','')\n            else:\n                return getCountryZHName(vData[0][0].split()[0])\n        else:\n            return '404'\n    except Exception as e:\n        print(\"Tracker.Error.aCCbfEAaCcfEBCD7.procedureIP\")\n        print(e)\n        print(\"\\n('%s','NotFoundTag'),\" % (vIP))\n        return '404'\n\ndef procedureIP_full(aIPv4):\n    try:\n        vIP  = getIPNetwork(aIPv4 = aIPv4)    # 202.23.99.44 -> 202.23.99.0\n        vSQL = \"select location from ip where ip = '%s';\" % vIP\n        print(\" + SQL: %s\" % vSQL)\n        vData = runSelectSQL(aDB = myDB, aSQL = vSQL)\n        if vData[0][0]:\n            return vData[0][0]\n        else:\n            return '404'\n    except Exception as e:\n        print(\"Tracker.Error.aCCbfEAaCcfEBCD7.procedureIP\")\n        print(e)\n        print(\"\\n('%s','NotFoundTag'),\" % (vIP))\n        return '404'\n\n\ndef getCountryZHName(char2code):\n    try:\n        return ISO_3166_1.iso_3166_1.get(char2code)\n    except Exception as e:\n        print(\"Tracker.Error.D1b808762AC4dCAA.getCountryZHName\")\n        print(e)\n        return '\u672a\u77e5-%s' % char2code\n\n\n\n\napp = flask.Flask(__name__)\n\n@app.route('\/ipservice', methods=['GET'])\ndef ipservice():\n    try:\n        aIP = flask.request.args.get(\"ip\")\n        aIPOK = IPIsValid(vIPv4 = aIP)\n        if aIPOK == 'Y':\n            print(\"\\n\\n\\n + Target IP Address: %s\" % aIP)\n            vData = procedureIP(aIPv4 = aIP)\n            return vData\n        else:\n            return '404'\n    except Exception as e:\n        print(\"Tracker.Error.67daA1cB92BBBafc.ipmsg\")\n        print(e)\n        return '404'\n\n@app.route('\/ipservicefull', methods=['GET'])\ndef ipservicefull():\n    try:\n        aIP = flask.request.args.get(\"ip\")\n        aIPOK = IPIsValid(vIPv4 = aIP)\n        if aIPOK == 'Y':\n            print(\"\\n\\n\\n + Target IP Address: %s\" % aIP)\n            vData = procedureIP_full(aIPv4 = aIP)\n            return vData\n        else:\n            return '404'\n    except Exception as e:\n        print(\"Tracker.Error.67daA1cB92BBBafc.ipmsg\")\n        print(e)\n        return '404'\n\n\nif __name__ == \"__main__\":\n    app.run(host='0.0.0.0',port=18040)\n<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">ISO\u6807\u51c6\u56fd\u5bb6\u5730\u533a\u4ee3\u7801\u6587\u4ef6 ISO_3166_1.py \u4e3b\u8981\u5c31\u662f\u4e00\u4e2a\u5bf9\u7167\u5173\u7cfb\u7684\u5b57\u5178\uff0c\u589e\u52a0\u4e86\u4e00\u4e2aUK\u82f1\u56fd\uff0c\u81ea\u5df1\u4e60\u60ef\u7528UK\u8868\u793a\u82f1\u56fd\uff0c\u8fd9\u4e2aGB\u624d\u662f\u5176\u975e\u6807\u51c6\u5b9a\u4e49\u3002\n\niso_3166_1 = {\n\"AX\":\"\u5965\u5170\u7fa4\u5c9b\",\n\"AL\":\"\u963f\u5c14\u5df4\u5c3c\u4e9a\",\n\"DZ\":\"\u963f\u5c14\u53ca\u5229\u4e9a\",\n\"AS\":\"\u7f8e\u5c5e\u8428\u6469\u4e9a\",\n\"AD\":\"\u5b89\u9053\u5c14\",\n\"AO\":\"\u5b89\u54e5\u62c9\",\n\"AI\":\"\u5b89\u572d\u62c9\",\n\"AQ\":\"\u5357\u6781\u6d32\",\n\"AG\":\"\u5b89\u63d0\u74dc\u548c\u5df4\u5e03\u8fbe\",\n\"AR\":\"\u963f\u6839\u5ef7\",\n\"AM\":\"\u4e9a\u7f8e\u5c3c\u4e9a\",\n\"AW\":\"\u963f\u9c81\u5df4\",\n\"AU\":\"\u6fb3\u5927\u5229\u4e9a\",\n\"AT\":\"\u5965\u5730\u5229\",\n\"AZ\":\"\u963f\u585e\u62dc\u7586\",\n\"BS\":\"\u5df4\u54c8\u9a6c\",\n\"BH\":\"\u5df4\u6797\",\n\"BD\":\"\u5b5f\u52a0\u62c9\u56fd\",\n\"BB\":\"\u5df4\u5df4\u591a\u65af\",\n\"BY\":\"\u767d\u4fc4\u7f57\u65af\",\n\"BE\":\"\u6bd4\u5229\u65f6\",\n\"BZ\":\"\u4f2f\u5229\u5179\",\n\"BJ\":\"\u8d1d\u5b81\",\n\"BM\":\"\u767e\u6155\u5927\",\n\"BT\":\"\u4e0d\u4e39\",\n\"BO\":\"\u73bb\u5229\u7ef4\u4e9a\",\n\"BA\":\"\u6ce2\u9ed1\",\n\"BW\":\"\u535a\u8328\u74e6\u7eb3\",\n\"BV\":\"\u5e03\u7ef4\u5c9b\",\n\"BR\":\"\u5df4\u897f\",\n\"IO\":\"\u82f1\u5c5e\u5370\u5ea6\u6d0b\u9886\u5730\",\n\"BN\":\"\u6587\u83b1\",\n\"BG\":\"\u4fdd\u52a0\u5229\u4e9a\",\n\"BF\":\"\u5e03\u57fa\u7eb3\u6cd5\u7d22\",\n\"BI\":\"\u5e03\u9686\u8fea\",\n\"KH\":\"\u67ec\u57d4\u5be8\",\n\"CM\":\"\u5580\u9ea6\u9686\",\n\"CA\":\"\u52a0\u62ff\u5927\",\n\"CV\":\"\u4f5b\u5f97\u89d2\",\n\"KY\":\"\u5f00\u66fc\u7fa4\u5c9b\",\n\"CF\":\"\u4e2d\u975e\",\n\"TD\":\"\u4e4d\u5f97\",\n\"CL\":\"\u667a\u5229\",\n\"CN\":\"\u4e2d\u56fd\",\n\"CX\":\"\u5723\u8bde\u5c9b\",\n\"CC\":\"\u79d1\u79d1\u65af\u7fa4\u5c9b\",\n\"CO\":\"\u54e5\u4f26\u6bd4\u4e9a\",\n\"KM\":\"\u79d1\u6469\u7f57\",\n\"CG\":\"\u521a\u679c\u5e03\",\n\"CD\":\"\u521a\u679c\u91d1\",\n\"CK\":\"\u5e93\u514b\u7fa4\u5c9b\",\n\"CR\":\"\u54e5\u65af\u8fbe\u9ece\u52a0\",\n\"CI\":\"\u79d1\u7279\u8fea\u74e6\",\n\"HR\":\"\u514b\u7f57\u5730\u4e9a\",\n\"CU\":\"\u53e4\u5df4\",\n\"CY\":\"\u585e\u6d66\u8def\u65af\",\n\"CZ\":\"\u6377\u514b\",\n\"DK\":\"\u4e39\u9ea6\",\n\"DJ\":\"\u5409\u5e03\u63d0\",\n\"DM\":\"\u591a\u7c73\u5c3c\u514b\",\n\"DO\":\"\u591a\u7c73\u5c3c\u52a0\",\n\"EC\":\"\u5384\u74dc\u591a\u5c14\",\n\"EG\":\"\u57c3\u53ca\",\n\"SV\":\"\u8428\u5c14\u74e6\u591a\",\n\"GQ\":\"\u8d64\u9053\u51e0\u5185\u4e9a\",\n\"ER\":\"\u5384\u7acb\u7279\u91cc\u4e9a\",\n\"EE\":\"\u7231\u6c99\u5c3c\u4e9a\",\n\"ET\":\"\u57c3\u585e\u4fc4\u6bd4\u4e9a\",\n\"FK\":\"\u798f\u514b\u5170\u7fa4\u5c9b\",\n\"FO\":\"\u6cd5\u7f57\u7fa4\u5c9b\",\n\"FJ\":\"\u6590\u6d4e\",\n\"FI\":\"\u82ac\u5170\",\n\"FR\":\"\u6cd5\u56fd\",\n\"GF\":\"\u6cd5\u5c5e\u572d\u4e9a\u90a3\",\n\"PF\":\"\u6cd5\u5c5e\u6ce2\u5229\u5c3c\u897f\u4e9a\",\n\"TF\":\"\u6cd5\u5c5e\u5357\u90e8\u9886\u5730\",\n\"GA\":\"\u52a0\u84ec\",\n\"GM\":\"\u5188\u6bd4\u4e9a\",\n\"GE\":\"\u683c\u9c81\u5409\u4e9a\",\n\"DE\":\"\u5fb7\u56fd\",\n\"GH\":\"\u52a0\u7eb3\",\n\"GI\":\"\u76f4\u5e03\u7f57\u9640\",\n\"GR\":\"\u5e0c\u814a\",\n\"GL\":\"\u683c\u9675\u5170\",\n\"GD\":\"\u683c\u6797\u7eb3\u8fbe\",\n\"GP\":\"\u74dc\u5fb7\u7f57\u666e\",\n\"GU\":\"\u5173\u5c9b\",\n\"GT\":\"\u5371\u5730\u9a6c\u62c9\",\n\"GG\":\"\u683c\u6069\u897f\u5c9b\",\n\"GN\":\"\u51e0\u5185\u4e9a\",\n\"GW\":\"\u51e0\u5185\u4e9a\u6bd4\u7ecd\",\n\"GY\":\"\u572d\u4e9a\u90a3\",\n\"HT\":\"\u6d77\u5730\",\n\"HM\":\"\u8d6b\u5fb7\u5c9b\u548c\u9ea6\u514b\u5510\u7eb3\u5c9b\",\n\"VA\":\"\u68b5\u8482\u5188\",\n\"HN\":\"\u6d2a\u90fd\u62c9\u65af\",\n\"HK\":\"\u4e2d\u56fd\u9999\u6e2f\",\n\"HU\":\"\u5308\u7259\u5229\",\n\"IS\":\"\u51b0\u5c9b\",\n\"IN\":\"\u5370\u5ea6\",\n\"ID\":\"\u5370\u5ea6\u5c3c\u897f\u4e9a\",\n\"IR\":\"\u4f0a\u6717\",\n\"IQ\":\"\u4f0a\u62c9\u514b\",\n\"IE\":\"\u7231\u5c14\u5170\",\n\"IM\":\"\u82f1\u56fd\u5c5e\u5730\u66fc\u5c9b\",\n\"IL\":\"\u4ee5\u8272\u5217\",\n\"IT\":\"\u610f\u5927\u5229\",\n\"JM\":\"\u7259\u4e70\u52a0\",\n\"JP\":\"\u65e5\u672c\",\n\"JE\":\"\u6cfd\u897f\u5c9b\",\n\"JO\":\"\u7ea6\u65e6\",\n\"KZ\":\"\u54c8\u8428\u514b\u65af\u5766\",\n\"KE\":\"\u80af\u5c3c\u4e9a\",\n\"KI\":\"\u57fa\u91cc\u5df4\u65af\",\n\"KP\":\"\u671d\u9c9c\",\n\"KR\":\"\u97e9\u56fd\",\n\"KW\":\"\u79d1\u5a01\u7279\",\n\"KG\":\"\u5409\u5c14\u5409\u65af\u65af\u5766\",\n\"LA\":\"\u8001\u631d\",\n\"LV\":\"\u62c9\u8131\u7ef4\u4e9a\",\n\"LB\":\"\u9ece\u5df4\u5ae9\",\n\"LS\":\"\u83b1\u7d22\u6258\",\n\"LR\":\"\u5229\u6bd4\u91cc\u4e9a\",\n\"LY\":\"\u5229\u6bd4\u4e9a\",\n\"LI\":\"\u5217\u652f\u6566\u58eb\u767b\",\n\"LT\":\"\u7acb\u9676\u5b9b\",\n\"LU\":\"\u5362\u68ee\u5821\",\n\"MO\":\"\u4e2d\u56fd\u6fb3\u95e8\",\n\"MK\":\"\u524d\u5357\u9a6c\u5176\u987f\",\n\"MG\":\"\u9a6c\u8fbe\u52a0\u65af\u52a0\",\n\"MW\":\"\u9a6c\u62c9\u7ef4\",\n\"MY\":\"\u9a6c\u6765\u897f\u4e9a\",\n\"MV\":\"\u9a6c\u5c14\u4ee3\u592b\",\n\"ML\":\"\u9a6c\u91cc\",\n\"MT\":\"\u9a6c\u8033\u4ed6\",\n\"MH\":\"\u9a6c\u7ecd\u5c14\u7fa4\u5c9b\",\n\"MQ\":\"\u9a6c\u63d0\u5c3c\u514b\",\n\"MR\":\"\u6bdb\u5229\u5854\u5c3c\u4e9a\",\n\"MU\":\"\u6bdb\u91cc\u6c42\u65af\",\n\"YT\":\"\u9a6c\u7ea6\u7279\",\n\"MX\":\"\u58a8\u897f\u54e5\",\n\"FM\":\"\u5bc6\u514b\u7f57\u5c3c\u897f\u4e9a\u8054\u90a6\",\n\"MD\":\"\u6469\u5c14\u591a\u74e6\",\n\"MC\":\"\u6469\u7eb3\u54e5\",\n\"MN\":\"\u8499\u53e4\",\n\"ME\":\"\u9ed1\u5c71\",\n\"MS\":\"\u8499\u7279\u585e\u62c9\u7279\",\n\"MA\":\"\u6469\u6d1b\u54e5\",\n\"MZ\":\"\u83ab\u6851\u6bd4\u514b\",\n\"MM\":\"\u7f05\u7538\",\n\"NA\":\"\u7eb3\u7c73\u6bd4\u4e9a\",\n\"NR\":\"\u7459\u9c81\",\n\"NP\":\"\u5c3c\u6cca\u5c14\",\n\"NL\":\"\u8377\u5170\",\n\"AN\":\"\u8377\u5c5e\u5b89\u7684\u5217\u65af\",\n\"NC\":\"\u65b0\u5580\u91cc\u591a\u5c3c\u4e9a\",\n\"NZ\":\"\u65b0\u897f\u5170\",\n\"NI\":\"\u5c3c\u52a0\u62c9\u74dc\",\n\"NE\":\"\u5c3c\u65e5\u5c14\",\n\"NG\":\"\u5c3c\u65e5\u5229\u4e9a\",\n\"NU\":\"\u7ebd\u57c3\",\n\"NF\":\"\u8bfa\u798f\u514b\u5c9b\",\n\"MP\":\"\u5317\u9a6c\u91cc\u4e9a\u7eb3\",\n\"NO\":\"\u632a\u5a01\",\n\"OM\":\"\u963f\u66fc\",\n\"PK\":\"\u5df4\u57fa\u65af\u5766\",\n\"PW\":\"\u5e15\u52b3\",\n\"PS\":\"\u5df4\u52d2\u65af\u5766\",\n\"PA\":\"\u5df4\u62ff\u9a6c\",\n\"PG\":\"\u5df4\u5e03\u4e9a\u65b0\u51e0\u5185\u4e9a\",\n\"PY\":\"\u5df4\u62c9\u572d\",\n\"PE\":\"\u79d8\u9c81\",\n\"PH\":\"\u83f2\u5f8b\u5bbe\",\n\"PN\":\"\u76ae\u7279\u51ef\u6069\",\n\"PL\":\"\u6ce2\u5170\",\n\"PT\":\"\u8461\u8404\u7259\",\n\"PR\":\"\u6ce2\u591a\u9ece\u5404\",\n\"QA\":\"\u5361\u5854\u5c14\",\n\"RE\":\"\u7559\u5c3c\u6c6a\",\n\"RO\":\"\u7f57\u9a6c\u5c3c\u4e9a\",\n\"RU\":\"\u4fc4\u7f57\u65af\u8054\u90a6\",\n\"RW\":\"\u5362\u65fa\u8fbe\",\n\"SH\":\"\u5723\u8d6b\u52d2\u62ff\",\n\"KN\":\"\u5723\u57fa\u8328\u548c\u5c3c\u7ef4\u65af\",\n\"LC\":\"\u5723\u5362\u897f\u4e9a\",\n\"PM\":\"\u5723\u76ae\u57c3\u5c14\u548c\u5bc6\u514b\u9686\",\n\"VC\":\"\u5723\u6587\u68ee\u7279\u548c\u683c\u6797\u7eb3\u4e01\u65af\",\n\"WS\":\"\u8428\u6469\u4e9a\",\n\"SM\":\"\u5723\u9a6c\u529b\u8bfa\",\n\"ST\":\"\u5723\u591a\u7f8e\u548c\u666e\u6797\u897f\u6bd4\",\n\"SA\":\"\u6c99\u7279\u963f\u62c9\u4f2f\",\n\"SN\":\"\u585e\u5185\u52a0\u5c14\",\n\"RS\":\"\u585e\u5c14\u7ef4\u4e9a\",\n\"SC\":\"\u585e\u820c\u5c14\",\n\"SL\":\"\u585e\u62c9\u5229\u6602\",\n\"SG\":\"\u65b0\u52a0\u5761\",\n\"SK\":\"\u65af\u6d1b\u4f10\u514b\",\n\"SI\":\"\u65af\u6d1b\u6587\u5c3c\u4e9a\",\n\"SB\":\"\u6240\u7f57\u95e8\u7fa4\u5c9b\",\n\"SO\":\"\u7d22\u9a6c\u91cc\",\n\"ZA\":\"\u5357\u975e\",\n\"GS\":\"\u5357\u4e54\u6cbb\u4e9a\u5c9b\u548c\u5357\u6851\u5fb7\u97e6\u5947\u5c9b\",\n\"ES\":\"\u897f\u73ed\u7259\",\n\"LK\":\"\u65af\u91cc\u5170\u5361\",\n\"SD\":\"\u82cf\u4e39\",\n\"SR\":\"\u82cf\u91cc\u5357\",\n\"SJ\":\"\u65af\u74e6\u5c14\u5df4\u5c9b\u548c\u626c\u9a6c\u5ef6\u5c9b\",\n\"SZ\":\"\u65af\u5a01\u58eb\u5170\",\n\"SE\":\"\u745e\u5178\",\n\"CH\":\"\u745e\u58eb\",\n\"SY\":\"\u53d9\u5229\u4e9a\",\n\"TW\":\"\u53f0\u6e7e\",\n\"TJ\":\"\u5854\u5409\u514b\u65af\u5766\",\n\"TZ\":\"\u5766\u6851\u5c3c\u4e9a\",\n\"TH\":\"\u6cf0\u56fd\",\n\"TL\":\"\u4e1c\u5e1d\u6c76\",\n\"TG\":\"\u591a\u54e5\",\n\"TK\":\"\u6258\u514b\u52b3\",\n\"TO\":\"\u6c64\u52a0\",\n\"TT\":\"\u7279\u7acb\u5c3c\u8fbe\u548c\u591a\u5df4\u54e5\",\n\"TN\":\"\u7a81\u5c3c\u65af\",\n\"TR\":\"\u571f\u8033\u5176\",\n\"TM\":\"\u571f\u5e93\u66fc\u65af\u5766\",\n\"TC\":\"\u7279\u514b\u65af\u548c\u51ef\u79d1\u65af\u7fa4\u5c9b\",\n\"TV\":\"\u56fe\u74e6\u5362\",\n\"UG\":\"\u4e4c\u5e72\u8fbe\",\n\"UA\":\"\u4e4c\u514b\u5170\",\n\"AE\":\"\u963f\u8054\u914b\",\n\"GB\":\"\u82f1\u56fd\",\n\"US\":\"\u7f8e\u56fd\",\n\"UM\":\"\u7f8e\u56fd\u672c\u571f\u5916\u5c0f\u5c9b\u5c7f\",\n\"UY\":\"\u4e4c\u62c9\u572d\",\n\"UZ\":\"\u4e4c\u5179\u522b\u514b\u65af\u5766\",\n\"VU\":\"\u74e6\u52aa\u963f\u56fe\",\n\"VE\":\"\u59d4\u5185\u745e\u62c9\",\n\"VN\":\"\u8d8a\u5357\",\n\"VG\":\"\u82f1\u5c5e\u7ef4\u5c14\u4eac\u7fa4\u5c9b\",\n\"VI\":\"\u7f8e\u5c5e\u7ef4\u5c14\u4eac\u7fa4\u5c9b\",\n\"WF\":\"\u74e6\u5229\u65af\u548c\u5bcc\u56fe\u7eb3\",\n\"EH\":\"\u897f\u6492\u54c8\u62c9\",\n\"YE\":\"\u4e5f\u95e8\",\n\"YU\":\"\u5357\u65af\u62c9\u592b\",\n\"ZM\":\"\u8d5e\u6bd4\u4e9a\",\n\"ZW\":\"\u6d25\u5df4\u5e03\u97e6\",\n\"UK\":\"\u82f1\u56fd\",\n}\n<\/pre>\n\n\n\n<p>\u81ea\u7528\u7684API\u5730\u5740\uff0c\u4e0d\u516c\u5f00\u5730\u5740\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9700\u6c42 \u5404\u7c7b\u516c\u7f51\u7684\u6570\u636e\u5e93\uff0c\u90fd\u9650\u5236\u4e86\u8bf7\u6c42\u9891\u6b21\uff0c\u6709\u65f6\u5019\uff0c\u81ea\u5df1\u9700\u8981\u6279\u91cf\u7684\u67e5\u8be2\u9700\u6c42\uff0c\u5f97\u4e0d\u5230\u6ee1\u8db3\uff0c\u4e8e\u662f\uff0c\u6709\u4e86\uff0c\u81ea\u5df1\u638c\u63e1\u6570\u636e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts\/1720"}],"collection":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1720"}],"version-history":[{"count":2,"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts\/1720\/revisions"}],"predecessor-version":[{"id":1722,"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts\/1720\/revisions\/1722"}],"wp:attachment":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}