wokao
V2EX  ›  问与答

POST一样的数据却登录失败

  •  
  •   wokao · Jun 11, 2012 · 3785 views
    This topic created in 5125 days ago, the information mentioned may be changed or developed.
    登录过程如下:客户端先POST一条空数据到服务器, 得到set-cookie.
    然后将加密后的用户名&密码, POST到服务器, 返回登录成功.
    PS.抓包数次, 客户端每次POST加密后的用户名&密码是一样的.

    自己用python写了个脚本来模拟这一过程.用requests建立一个session来保持Cookie.
    先POST一条空数据, 取得Cookie, 将其加入header, 然后将加密的用户名&密码作为参数POST.
    Wireshark分析和客户端POST的数据一样, 但是返回登录失败. 大概会是哪里出问题了呢?
    7 replies    1970-01-01 08:00:00 +08:00
    cute
        1
    cute  
       Jun 11, 2012
    其他header头部是一样的吗?比如user-agent。最好和客户端发送的一样。
    wokao
        2
    wokao  
    OP
       Jun 11, 2012
    @cute header一样.将客户端和自己POST的raw数据对比过没差异.
    lisztli
        3
    lisztli  
       Jun 11, 2012
    看看有没有token啥的
    yujnln
        4
    yujnln  
       Jun 11, 2012
    伪装成浏览器了吗?
    POST的数据是否进行了压缩?长度是否动态控制好了?
    session是否记录正确?
    postdata的编码格式?
    对方服务器是否防止盗链,你加了Referer了么?

    话说为什么要先POST一次呢,直接登录不行么...
    yangruixuan
        5
    yangruixuan  
       Jun 11, 2012
    Referer +1
    wokao
        6
    wokao  
    OP
       Jun 11, 2012
    @yujnln 某游戏客户端= =!
    第一次POST获取cookie, 登录后激活此cookie.之后的操作全靠header里的cookie来验证.
    伪装应该是成功的, 用激活后的cookie进行操作没问题.
    wokao
        7
    wokao  
    OP
       Jun 11, 2012
    @lisztli 这个真没有.Wireshark抓包, 过滤http.connection. 只看到2个POST.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1229 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 23:35 · PVG 07:35 · LAX 16:35 · JFK 19:35
    ♥ Do have faith in what you're doing.