python爬虫-逆向实例小记-3

news2024/11/16 12:55:19

注意!!!!某数据网站逆向实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!!!

案例分析

第一步:分析页面。查看响应内容,内容加密

 第二步:检索“encrypt_data”此网站有6个被检索到,但是其他都含有 img不符合要求,只有一个复核,在此处打断点。

 第三步:查看加密内容被哪个函数作为参数传入。将鼠标放在“d.a”处会出现该函数名以及所在位置。

第四步: 将此处代码复制出来。同时发现 “o”函数和“a.a.decode”函数未在该函数中。需要进行查找

 第五步:“o”函数

 第六步:“a.a.decode”函数。注意!!!decoed : function(t)....不符合,将代码扣下在本地执行的要求需要改写。详情见代码

 最后:代码实现

JS 部分代码

注意!!!js 代码从浏览器到本地,本地执行时缺什么参数回浏览器里找,以及本地补充环境

function s(e) {
    return JSON.parse(o("5e5062e82f15fe4ca9d24bc5", decode_gaixie(e), 0, 0, "012345677890123", 1))
}

function o(e, t, i, n, a, o) {
    var s, c, r, l, d, u, h, p, f, m, v, g, y, b,
        C = new Array(16843776, 0, 65536, 16843780, 16842756, 66564, 4, 65536, 1024, 16843776, 16843780, 1024, 16778244, 16842756, 16777216, 4, 1028, 16778240, 16778240, 66560, 66560, 16842752, 16842752, 16778244, 65540, 16777220, 16777220, 65540, 0, 1028, 66564, 16777216, 65536, 16843780, 4, 16842752, 16843776, 16777216, 16777216, 1024, 16842756, 65536, 66560, 16777220, 1024, 4, 16778244, 66564, 16843780, 65540, 16842752, 16778244, 16777220, 1028, 66564, 16843776, 1028, 16778240, 16778240, 0, 65540, 66560, 0, 16842756),
        _ = new Array(-2146402272, -2147450880, 32768, 1081376, 1048576, 32, -2146435040, -2147450848, -2147483616, -2146402272, -2146402304, -2147483648, -2147450880, 1048576, 32, -2146435040, 1081344, 1048608, -2147450848, 0, -2147483648, 32768, 1081376, -2146435072, 1048608, -2147483616, 0, 1081344, 32800, -2146402304, -2146435072, 32800, 0, 1081376, -2146435040, 1048576, -2147450848, -2146435072, -2146402304, 32768, -2146435072, -2147450880, 32, -2146402272, 1081376, 32, 32768, -2147483648, 32800, -2146402304, 1048576, -2147483616, 1048608, -2147450848, -2147483616, 1048608, 1081344, 0, -2147450880, 32800, -2147483648, -2146435040, -2146402272, 1081344),
        w = new Array(520, 134349312, 0, 134348808, 134218240, 0, 131592, 134218240, 131080, 134217736, 134217736, 131072, 134349320, 131080, 134348800, 520, 134217728, 8, 134349312, 512, 131584, 134348800, 134348808, 131592, 134218248, 131584, 131072, 134218248, 8, 134349320, 512, 134217728, 134349312, 134217728, 131080, 520, 131072, 134349312, 134218240, 0, 512, 131080, 134349320, 134218240, 134217736, 512, 0, 134348808, 134218248, 131072, 134217728, 134349320, 8, 131592, 131584, 134217736, 134348800, 134218248, 520, 134348800, 131592, 8, 134348808, 131584),
        k = new Array(8396801, 8321, 8321, 128, 8396928, 8388737, 8388609, 8193, 0, 8396800, 8396800, 8396929, 129, 0, 8388736, 8388609, 1, 8192, 8388608, 8396801, 128, 8388608, 8193, 8320, 8388737, 1, 8320, 8388736, 8192, 8396928, 8396929, 129, 8388736, 8388609, 8396800, 8396929, 129, 0, 0, 8396800, 8320, 8388736, 8388737, 1, 8396801, 8321, 8321, 128, 8396929, 129, 1, 8192, 8388609, 8193, 8396928, 8388737, 8193, 8320, 8388608, 8396801, 128, 8388608, 8192, 8396928),
        x = new Array(256, 34078976, 34078720, 1107296512, 524288, 256, 1073741824, 34078720, 1074266368, 524288, 33554688, 1074266368, 1107296512, 1107820544, 524544, 1073741824, 33554432, 1074266112, 1074266112, 0, 1073742080, 1107820800, 1107820800, 33554688, 1107820544, 1073742080, 0, 1107296256, 34078976, 33554432, 1107296256, 524544, 524288, 1107296512, 256, 33554432, 1073741824, 34078720, 1107296512, 1074266368, 33554688, 1073741824, 1107820544, 34078976, 1074266368, 256, 33554432, 1107820544, 1107820800, 524544, 1107296256, 1107820800, 34078720, 0, 1074266112, 1107296256, 524544, 33554688, 1073742080, 524288, 0, 1074266112, 34078976, 1073742080),
        T = new Array(536870928, 541065216, 16384, 541081616, 541065216, 16, 541081616, 4194304, 536887296, 4210704, 4194304, 536870928, 4194320, 536887296, 536870912, 16400, 0, 4194320, 536887312, 16384, 4210688, 536887312, 16, 541065232, 541065232, 0, 4210704, 541081600, 16400, 4210688, 541081600, 536870912, 536887296, 16, 541065232, 4210688, 541081616, 4194304, 16400, 536870928, 4194304, 536887296, 536870912, 16400, 536870928, 541081616, 4210688, 541065216, 4210704, 541081600, 0, 541065232, 16, 16384, 541065216, 4210704, 16384, 4194320, 536887312, 0, 541081600, 536870912, 4194320, 536887312),
        A = new Array(2097152, 69206018, 67110914, 0, 2048, 67110914, 2099202, 69208064, 69208066, 2097152, 0, 67108866, 2, 67108864, 69206018, 2050, 67110912, 2099202, 2097154, 67110912, 67108866, 69206016, 69208064, 2097154, 69206016, 2048, 2050, 69208066, 2099200, 2, 67108864, 2099200, 67108864, 2099200, 2097152, 67110914, 67110914, 69206018, 69206018, 2, 2097154, 67108864, 67110912, 2097152, 69208064, 2050, 2099202, 69208064, 2050, 67108866, 69208066, 69206016, 2099200, 0, 2, 69208066, 0, 2099202, 69206016, 2048, 67108866, 67110912, 2048, 2097154),
        N = new Array(268439616, 4096, 262144, 268701760, 268435456, 268439616, 64, 268435456, 262208, 268697600, 268701760, 266240, 268701696, 266304, 4096, 64, 268697600, 268435520, 268439552, 4160, 266240, 262208, 268697664, 268701696, 4160, 0, 0, 268697664, 268435520, 268439552, 266304, 262144, 266304, 262144, 268701696, 4096, 64, 268697664, 4096, 266304, 268439552, 64, 268435520, 268697600, 268697664, 268435456, 262144, 268439616, 0, 268701760, 262208, 268435520, 268697600, 268439552, 268439616, 0, 268701760, 266240, 266240, 4160, 4160, 262208, 268435456, 268701696),
        $ = function (e) {
            for (var t, i, n, a = new Array(0, 4, 536870912, 536870916, 65536, 65540, 536936448, 536936452, 512, 516, 536871424, 536871428, 66048, 66052, 536936960, 536936964), o = new Array(0, 1, 1048576, 1048577, 67108864, 67108865, 68157440, 68157441, 256, 257, 1048832, 1048833, 67109120, 67109121, 68157696, 68157697), s = new Array(0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272, 0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272), c = new Array(0, 2097152, 134217728, 136314880, 8192, 2105344, 134225920, 136323072, 131072, 2228224, 134348800, 136445952, 139264, 2236416, 134356992, 136454144), r = new Array(0, 262144, 16, 262160, 0, 262144, 16, 262160, 4096, 266240, 4112, 266256, 4096, 266240, 4112, 266256), l = new Array(0, 1024, 32, 1056, 0, 1024, 32, 1056, 33554432, 33555456, 33554464, 33555488, 33554432, 33555456, 33554464, 33555488), d = new Array(0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746, 0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746), u = new Array(0, 65536, 2048, 67584, 536870912, 536936448, 536872960, 536938496, 131072, 196608, 133120, 198656, 537001984, 537067520, 537004032, 537069568), h = new Array(0, 262144, 0, 262144, 2, 262146, 2, 262146, 33554432, 33816576, 33554432, 33816576, 33554434, 33816578, 33554434, 33816578), p = new Array(0, 268435456, 8, 268435464, 0, 268435456, 8, 268435464, 1024, 268436480, 1032, 268436488, 1024, 268436480, 1032, 268436488), f = new Array(0, 32, 0, 32, 1048576, 1048608, 1048576, 1048608, 8192, 8224, 8192, 8224, 1056768, 1056800, 1056768, 1056800), m = new Array(0, 16777216, 512, 16777728, 2097152, 18874368, 2097664, 18874880, 67108864, 83886080, 67109376, 83886592, 69206016, 85983232, 69206528, 85983744), v = new Array(0, 4096, 134217728, 134221824, 524288, 528384, 134742016, 134746112, 16, 4112, 134217744, 134221840, 524304, 528400, 134742032, 134746128), g = new Array(0, 4, 256, 260, 0, 4, 256, 260, 1, 5, 257, 261, 1, 5, 257, 261), y = e.length > 8 ? 3 : 1, b = new Array(32 * y), C = new Array(0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0), _ = 0, w = 0, k = 0; k < y; k++) {
                var x = e.charCodeAt(_++) << 24 | e.charCodeAt(_++) << 16 | e.charCodeAt(_++) << 8 | e.charCodeAt(_++)
                    ,
                    T = e.charCodeAt(_++) << 24 | e.charCodeAt(_++) << 16 | e.charCodeAt(_++) << 8 | e.charCodeAt(_++);
                x ^= (n = 252645135 & (x >>> 4 ^ T)) << 4,
                    x ^= n = 65535 & ((T ^= n) >>> -16 ^ x),
                    x ^= (n = 858993459 & (x >>> 2 ^ (T ^= n << -16))) << 2,
                    x ^= n = 65535 & ((T ^= n) >>> -16 ^ x),
                    x ^= (n = 1431655765 & (x >>> 1 ^ (T ^= n << -16))) << 1,
                    x ^= n = 16711935 & ((T ^= n) >>> 8 ^ x),
                    n = (x ^= (n = 1431655765 & (x >>> 1 ^ (T ^= n << 8))) << 1) << 8 | (T ^= n) >>> 20 & 240,
                    x = T << 24 | T << 8 & 16711680 | T >>> 8 & 65280 | T >>> 24 & 240,
                    T = n;
                for (var A = 0; A < C.length; A++)
                    C[A] ? (x = x << 2 | x >>> 26,
                        T = T << 2 | T >>> 26) : (x = x << 1 | x >>> 27,
                        T = T << 1 | T >>> 27),
                        T &= -15,
                        t = a[(x &= -15) >>> 28] | o[x >>> 24 & 15] | s[x >>> 20 & 15] | c[x >>> 16 & 15] | r[x >>> 12 & 15] | l[x >>> 8 & 15] | d[x >>> 4 & 15],
                        i = u[T >>> 28] | h[T >>> 24 & 15] | p[T >>> 20 & 15] | f[T >>> 16 & 15] | m[T >>> 12 & 15] | v[T >>> 8 & 15] | g[T >>> 4 & 15],
                        n = 65535 & (i >>> 16 ^ t),
                        b[w++] = t ^ n,
                        b[w++] = i ^ n << 16
            }
            return b
        }(e), L = 0, S = t.length, z = 0, I = 32 == $.length ? 3 : 9;
    p = 3 == I ? i ? new Array(0, 32, 2) : new Array(30, -2, -2) : i ? new Array(0, 32, 2, 62, 30, -2, 64, 96, 2) : new Array(94, 62, -2, 32, 64, 2, 30, -2, -2),
        2 == o ? t += "        " : 1 == o ? i && (r = 8 - S % 8,
            t += String.fromCharCode(r, r, r, r, r, r, r, r),
        8 === r && (S += 8)) : o || (t += "\0\0\0\0\0\0\0\0");
    var B = ""
        , F = "";
    for (1 == n && (f = a.charCodeAt(L++) << 24 | a.charCodeAt(L++) << 16 | a.charCodeAt(L++) << 8 | a.charCodeAt(L++),
        v = a.charCodeAt(L++) << 24 | a.charCodeAt(L++) << 16 | a.charCodeAt(L++) << 8 | a.charCodeAt(L++),
        L = 0); L < S;) {
        for (u = t.charCodeAt(L++) << 24 | t.charCodeAt(L++) << 16 | t.charCodeAt(L++) << 8 | t.charCodeAt(L++),
                 h = t.charCodeAt(L++) << 24 | t.charCodeAt(L++) << 16 | t.charCodeAt(L++) << 8 | t.charCodeAt(L++),
             1 == n && (i ? (u ^= f,
                 h ^= v) : (m = f,
                 g = v,
                 f = u,
                 v = h)),
                 u ^= (r = 252645135 & (u >>> 4 ^ h)) << 4,
                 u ^= (r = 65535 & (u >>> 16 ^ (h ^= r))) << 16,
                 u ^= r = 858993459 & ((h ^= r) >>> 2 ^ u),
                 u ^= r = 16711935 & ((h ^= r << 2) >>> 8 ^ u),
                 u = (u ^= (r = 1431655765 & (u >>> 1 ^ (h ^= r << 8))) << 1) << 1 | u >>> 31,
                 h = (h ^= r) << 1 | h >>> 31,
                 c = 0; c < I; c += 3) {
            for (y = p[c + 1],
                     b = p[c + 2],
                     s = p[c]; s != y; s += b)
                l = h ^ $[s],
                    d = (h >>> 4 | h << 28) ^ $[s + 1],
                    r = u,
                    u = h,
                    h = r ^ (_[l >>> 24 & 63] | k[l >>> 16 & 63] | T[l >>> 8 & 63] | N[63 & l] | C[d >>> 24 & 63] | w[d >>> 16 & 63] | x[d >>> 8 & 63] | A[63 & d]);
            r = u,
                u = h,
                h = r
        }
        h = h >>> 1 | h << 31,
            h ^= r = 1431655765 & ((u = u >>> 1 | u << 31) >>> 1 ^ h),
            h ^= (r = 16711935 & (h >>> 8 ^ (u ^= r << 1))) << 8,
            h ^= (r = 858993459 & (h >>> 2 ^ (u ^= r))) << 2,
            h ^= r = 65535 & ((u ^= r) >>> 16 ^ h),
            h ^= r = 252645135 & ((u ^= r << 16) >>> 4 ^ h),
            u ^= r << 4,
        1 == n && (i ? (f = u,
            v = h) : (u ^= m,
            h ^= g)),
            F += String.fromCharCode(u >>> 24, u >>> 16 & 255, u >>> 8 & 255, 255 & u, h >>> 24, h >>> 16 & 255, h >>> 8 & 255, 255 & h),
        512 == (z += 8) && (B += F,
            F = "",
            z = 0)
    }
    if (B = (B += F).replace(/\0*$/g, ""),
        !i) {
        if (1 === o) {
            var j = 0;
            (S = B.length) && (j = B.charCodeAt(S - 1)),
            j <= 8 && (B = B.substring(0, S - j))
        }
        B = decodeURIComponent(escape(B))
    }
    return B
}

function decode_gaixie(t) {
    var f = '/[\\t\\n\\f\\r ]/g';
    var l = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    var e = (t = String(t).replace(f, "")).length;
    e % 4 == 0 && (e = (t = t.replace(/==?$/, "")).length),
    (e % 4 == 1 || /[^+a-zA-Z0-9/]/.test(t)) && u("Invalid character: the string to be decoded is not correctly encoded.");
    for (var n, r, i = 0, o = "", a = -1; ++a < e;)
        r = l.indexOf(t.charAt(a)),
            n = i % 4 ? 64 * n + r : r,
        i++ % 4 && (o += String.fromCharCode(255 & n >> (-2 * i & 6)));
    return o
}

 Python部分代码

# 安装 execjs 可执行 pip install pyexecjs2
import execjs
encrypt_data = ''    # 加密内容 自行请求可得
with open('./企名片-js.js','r', encoding='utf-8') as f:
    js_code = f.read()
ctx = execjs.compile(js_code)
result = ctx.call("s",encrypt_data)
print(result)

 仅作为笔记记录,如有问题请各位大佬来指导

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/695603.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例研究|小牛电动通过DataEase进行业务数据可视化分析

小牛电动&#xff08;Niu Technologies&#xff09;创立于2014年&#xff0c;是全球智能城市出行解决方案提供商。小牛电动的产品线包括电动自行车、电动摩托车、电动滑板车等。小牛电动在销售渠道上采用了线上线下相结合的模式&#xff0c;通过线上电商平台和线下门店销售&…

HP惠普暗影精灵6 OMEN笔记本电脑-15-en0007ax原厂Win10系统镜像,原装OEM系统,恢复出厂状态

HP惠普暗影精灵6笔记本电脑&#xff0c;OMEN 笔记本电脑-15-en0007ax原装出厂Win10系统&#xff0c;恢复原厂系统 15-en0005ax 、15-en0006ax 、15-en0007ax、 15-en0030ax、 15-en0031ax、 15-en0032ax 、15-en0033ax、 15-en0034ax、 15-en0035ax、 15-en0043ax 系统自带所…

树形控件父节点不选中,只能选中子节点,如何实现?

rTree 树形控件一级菜单没有复选框&#xff0c;子菜单有复选框&#xff0c;如何实现&#xff1f;_阿 尭的博客-CSDN博客 接上一篇博客&#xff0c;继续深入功能&#xff0c;如何只选中叶子节点而不选中父节点。 1.在节点被点击时的回调&#xff0c;node-click中&#xff0c;返…

Layui时间范围选择器,添加快捷键【本周、本月、本季度、本年】

界面 <input id"Date_select" type"text" class"form-control" placeholder"请选择时间范围" style"border-radius: 4px;" /><input id"StartDate" type"hidden" /><input id"EndD…

Qt动态多级导航菜单(三)

前文链接&#xff1a;Qt动态多级导航菜单&#xff08;二&#xff09; 本次更新&#xff0c;主要将原导航项NavItem抽象为基类NavItemBase, 并派生出带有图标样式的动态多级导航菜单。至此&#xff0c;关于想要增加自定义的导航菜单样式&#xff0c;只需要从NavItemBase类派生即…

【Windows系统优化篇】谨慎开启“来自微软输入法的启用建议“功能

【Windows系统优化篇】谨慎开启"来自微软输入法的启用建议"功能 出于个人隐私数据的保护&#xff0c;不建议开启这玩意&#xff0c;容易造成个人隐私数据泄露。—【蘇小沐】 1.实验环境 系统版本Windows 11 专业工作站版22H2&#xff08;22621.1928&#xff09;&a…

为什么扩散模型能如此迅速地取代 GAN?看完这篇文章你就懂了

在人工智能领域&#xff0c;文本生成和图像生成一直是备受关注的领域。GAN (Generative Adversarial Networks) 技术作为当前最流行的生成模型之一&#xff0c;在这个领域内占据了重要地位。但是&#xff0c;随着技术的不断发展和应用&#xff0c;它的局限性也逐渐显露出来。而…

【Window doc命令与批处理文件】

Window doc命令与批处理文件 doc命令 快速生成一个内容为空(里面是空格)&#xff0c;大小不为空的文件 fsutil file createnew d:\workspace\haha.ini 1024window doc修改关联命令 assoc .txtexecfile assoc .txttxtfilewindow 关机命令 shutdown -s -t 100 # 100s后关机…

你以为很炸裂的建筑和真正炸裂的建筑

你以为很炸裂的那个建筑&#xff0c;可能是最近刷爆朋友圈&#xff0c;惊呆所有人的小教堂吧&#xff1a;“Reading between the lines”&#xff0c;一座由比利时年轻建筑师组合Gijs Van Vaerenbergh于2011年设计的大型公共艺术装置。很多人觉得这是全世界在视觉上最独特的“透…

【Python爬虫开发实战①】使用urllib以及XPath爬取可爱小猫图片

个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; 专栏&#xff1a;python网络爬虫从基础到实战 欢迎订阅&#xff01;后面的内容会越来越有意思~ 往期推荐&#xff1a; 【Python爬虫开发基础⑦】urllib库的基本使用 【Python爬虫开发基础⑧】XPath库及其基本用法 …

Windows环境下设置redis开启自动启动

一、首先下载好Redis 二、设置Redis服务 由于上面虽然启动了redis&#xff0c;但是只要一关闭cmd窗口&#xff0c;redis就会消失。所以要把redis设置成windows下的服务。 打开电脑的服务列表发现并没有所谓的Redis的服务。 我们需要进入到你安装的Redis的目录中&#xff0c;通…

系列五、NotePad++下载安装

一、下载 链接&#xff1a;https://pan.baidu.com/s/1U2f74vfBJIds7W2wJYnBxg?pwdyyds 提取码&#xff1a;yyds 二、安装 2.1、安装NotePad 解压NotePad-x64.zip至指定目录即可&#xff0c;例如 2.2、安装NppFTP 2.2.1、查看NotePad对应的位数&#xff08;32位or64位&a…

8.pixi.js编写的塔防游戏(类似保卫萝卜)-发射圆圈子弹技能

游戏说明 一个用pixi.js编写的h5塔防游戏&#xff0c;可以用electron打包为exe&#xff0c;支持移动端&#xff0c;也可以用webview控件打包为app在移动端使用 环境说明 cnpm6.2.0 npm6.14.13 node12.22.7 npminstall3.28.0 yarn1.22.10 npm config list electron_mirr…

cp命令IO代码实现实例

需求内容&#xff1a; 编写一个类似于cp命令的程序&#xff0c;当使用该程序复制一个包含空洞&#xff08;连续的空字节&#xff09;的普通文件时&#xff0c;要求目标文件的空洞与源文件保持一致。 测试一&#xff1a;普通文件的复制 #include <sys/types.h> #include …

升哲科技受邀出席第十四届夏季达沃斯论坛

6月27日至29日&#xff0c;第十四届夏季达沃斯论坛将在天津举办&#xff0c;国务院总理李强将出席论坛&#xff0c;并在开幕式上发表特别致辞。 升哲科技&#xff08;SENSORO&#xff09;创始人兼CEO赵武阳作为中国新生代商业领袖代表&#xff0c;受邀参加开幕式以及主论坛&am…

如何查看阿里云https账号密码

克隆git上的项目时出现身份验证&#xff0c;此时需要阿里云https密码 查看阿里云https密码&#xff1a;

事务管理秘籍:MySQL引擎的黄金法则

前言 大家在生活中肯定使用过微信或者支付宝转账吧&#xff0c;那么大家有没有想过一个问题呢&#xff1f;就是如果你向商家转账了&#xff0c;但是突然微信或者支付宝服务器出现问题了&#xff0c;商家并没有收到转账该怎么办呢&#xff1f; 今天我将来带大家了解解决这一问…

浙大GMSCM十周年庆典圆满闭幕!宁海元携易知微进行主题分享

6月24日&#xff0c;浙江大学与加拿大麦吉尔大学携手创办的全球制造与供应链管理硕士项目&#xff08;Master in Global Manufacturing and Supply Chain Management&#xff09;十周年庆典在浙江大学隆重召开。本次论坛致力于为制造业、服务业、物流业、金融业等各行业管理人员…

Java安装并使用Jmter测试微服务高并发下的服务雪崩场景

高并发会给微服务带来什么样的的问题? 在微服务架构中,我们将业务拆分成一个个的服务,服务和服务之间可以互相调用,但是由于网络原因或者自身的原因,服务并不能保证服务100%是可用的,如果单个服务出现问题,调用这个服务的时候就会出现网络延迟在系统中一直阻塞等待(阻塞就意味…

【kubernetes系列】Kubernetes之service

本章节将分享一下关于kubernetes中service的相关知识。 一、service 概述 Service也是Kubernetes里的最核心的资源对象之一&#xff0c;正是因为对此概念的支持&#xff0c;Kubernetes在某种角度下可以被看成是一种微服务平台。由于Kubernetes中的pod并不稳定&#xff0c;比…