Python通过cookie模拟网站登录

    在通过Python访问一些网站 如打印机的管理页面时需要登录才可以下载到想要的页面,此时需要用到Python的httplib和urllib模块解决,通过截取网站的登录cookie来成功登录网站。

0x00 获取cookie

 首先需要获取要登录网站的cookie,由于cookie中记录了登录信息,所以需要抓登录过程中的cookie包。通过Firefox的开发者工具可以找到登录过程中的数据包和其中的数据

      

然后通过Python脚本下载网站

def get_cookie():
    params = urllib.urlencode({"i0019":"admin",
                           "i0017":"2"});  

    headers = {"Host":"192.168.110.172",
               "User-Agent":'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0',
               "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
               "Accept-Language":"en-US,en;q=0.5",
               "Accept-Encoding":"gzip, deflate",
               "Referer":"http://192.168.110.172/login.html",
               "Connection":"keep-alive"
              };   

    conn = httplib.HTTPConnection("192.168.110.172");     

    conn.request(method="POST",url="http://192.168.110.172/checkLogin.cgi",headers=headers,body=params);     
    response = conn.getresponse();

    if response.status == 302:     
        print "发布成功!";     
        return response.getheaders()[1][1]
    else:     
        print "发布失败";
        return ''
    conn.close();

图中为获取打印机后台信息的网址,headers的信息按照抓取的headers信息修改即可。


猜你喜欢

转载自blog.csdn.net/Clannad_niu/article/details/79344330