V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yulei199309
V2EX  ›  程序员

自动化脚本求大神指导方向

  •  
  •   yulei199309 · 2017-07-07 08:44:36 +08:00 · 3138 次点击
    这是一个创建于 2695 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近突然对脚本语言感兴趣,想用 lua 写点自动检测服务器上线与否的脚本
    现在卡在想实现公司网站是否能正常访问的功能(服务器不在国内,最近时常不稳定)
    我本来想直接 request HTTP 页面,然后判定页面状态符是否 200 来确认。结果自己操作的时候突然发现公司的 portal 是 HTTPS 的,还用到了 SSO,不是域机器的话会跳转到登录页面,登录上去的话还有个 Symantec 的 token 输入界面,输入 token 应用中的 6 位码才能跳转到真正的 portal 页面。
    这样的话是不是实现起来难度太高了?我在脚本和 Web 这方面的知识几乎为零,只有以前玩 U3D 的时候写过一阵 js,这次也是摸石头过河想边玩编学 lua,有没有大神帮忙指个方向?
    18 条回复    2017-07-07 12:41:25 +08:00
    Betacoefficient
        1
    Betacoefficient  
       2017-07-07 08:51:42 +08:00
    当然是 py 语言啊
    likeshu
        2
    likeshu  
       2017-07-07 09:24:30 +08:00
    没有 web 知识,看楼主这需求要点时间,py 是比较快的。
    Chyroc
        3
    Chyroc  
       2017-07-07 09:25:37 +08:00
    python ansible
    yulei199309
        4
    yulei199309  
    OP
       2017-07-07 09:27:43 +08:00 via Android
    真的要用 py 吗?不想 lua 开荒开到一半转语言啊,如果用 Python 的话写起来很方便吗?
    402124773
        5
    402124773  
       2017-07-07 09:30:30 +08:00
    @yulei199309
    python 把,这个入门非常简单,实现你所描述的需求也非常合适。
    PythonAnswer
        6
    PythonAnswer  
       2017-07-07 09:38:02 +08:00
    应该大多数语言都可以做这些工作的, lua 没问题啊. 喜欢就上.
    PythoneerDev6
        7
    PythoneerDev6  
       2017-07-07 10:14:39 +08:00
    我也是建议 PY .
    maxxxxx
        8
    maxxxxx  
       2017-07-07 10:18:19 +08:00
    lua 还是适合当胶水吧。而且 lua 还得配环境,python 基本就不用了。
    yulei199309
        9
    yulei199309  
    OP
       2017-07-07 10:26:05 +08:00
    @maxxxxx 因为我花了整整一周才在 windows 上配好环境所以才不想换……
    如果大家都觉得 python 合适,那我就先用 python 试试,然后再想办法用 lua 实现一遍……
    因为毕竟学习 lua 才是我的目的,就当作曲线救国吧
    zcl0621
        10
    zcl0621  
       2017-07-07 10:26:05 +08:00
    用 python 啊 模拟登陆啥的 都支持
    struggle001
        11
    struggle001  
       2017-07-07 10:34:21 +08:00
    python 啊
    panzhc
        12
    panzhc  
       2017-07-07 11:04:35 +08:00
    判断返回状态码是 301 或者 302 ;或者专门开个健康检查的接口,免登录
    NaVient
        13
    NaVient  
       2017-07-07 11:29:26 +08:00
    @yulei199309 首先你花的时间都只是配环境???然而,py可以在五分钟内搭好环境.其次你的需求用Python做稍微谷歌一下边学边做,三天就能搞定.
    yulei199309
        14
    yulei199309  
    OP
       2017-07-07 11:50:20 +08:00 via Android
    @NaVient lua 要在 Windows 上用那些库太麻烦了,首先 lua 要自己编译,然后要装 mingw,装 luarocks,再装 luasocket 和 luasec 我一个纯新手完全 Google 出来的是花了不少时间。。
    我看到上面有人提到了模拟登录,我试试看这个方向
    jyf007
        15
    jyf007  
       2017-07-07 12:07:45 +08:00
    单纯用 bash 调 curl
    oott123
        16
    oott123  
       2017-07-07 12:36:41 +08:00
    楼主的问题不是换个语言能解决的。既然是为了学习 lua,就不要没事换 python 了。
    不过 lua 应该是有 windows 上的二进制分发的,包括 luarocks 啥的应该都有现成的才对……

    楼主这个问题,用 lua 解决没有任何问题,但确实麻烦了点。

    你看看公司的 portal 认证是不是 cookies 认证的,直接把 cookies 发过去能不能解决问题。如果能的话,还算好说。
    不能的话,你还要去研究 Symantec 的 token 算法,这就很复杂了。
    oott123
        17
    oott123  
       2017-07-07 12:39:49 +08:00
    环境的问题,官方文档其实都写的比较清楚了:
    可以用 Luadist: http://luadist.org/ 或者一堆其它的二进制分发 : http://lua-users.org/wiki/LuaBinaries

    估计楼主是要做和 c/c++ 集成的开发,那样的话才需要带源码,自己编译。然而,如果这样的话,lua 源码编译起来也比 python 的方便很多……
    okletswin
        18
    okletswin  
       2017-07-07 12:41:25 +08:00
    web 程序里定义资源,比如 /monitor,不走验证,直接返回,这才是正确的办法。curl 一下即可,接 zabbix 等都方便
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3414 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:38 · PVG 12:38 · LAX 20:38 · JFK 23:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.