zoukankan      html  css  js  c++  java
  • Cookies

    Python Cookie 读取和保存

    #保存 cookie 到变量
    import urllib.request
    import http.cookiejar
    cookie = http.cookiejar.CookieJar()
    handler = urllib.request.HTTPCookieProcessor(cookie)
    opener = urllib.request.build_opener(handler)
    response = opener.open('http://flights.ctrip.com/')
     
    for item in cookie:
        print('%s = %s' % (item.name,item.value))
     
     
    #保存 cookie 到文件
    import urllib.request
    import http.cookiejar
    cookie_file = 'E:/mypy/cookie.txt'
    cookie = http.cookiejar.MozillaCookieJar(cookie_file)
    handler = urllib.request.HTTPCookieProcessor(cookie)
    opener = urllib.request.build_opener(handler)
    #response = opener.open('http://flights.ctrip.com/')
    request = urllib.request.Request('http://flights.ctrip.com/',headers={"Connection": "keep-alive"})
    response = opener.open(request)
    cookie.save(ignore_discard=True, ignore_expires=True)
     
    for item in cookie:
        print('%s = %s' % (item.name,item.value))
     
     
    #从文件中读取 cookie 访问
    import urllib.request
    import http.cookiejar
    cookie_file = 'E:/mypy/cookie.txt'
    cookie = http.cookiejar.MozillaCookieJar()
    cookie.load(cookie_file, ignore_discard=True, ignore_expires=True)
    handler = urllib.request.HTTPCookieProcessor(cookie)
    opener = urllib.request.build_opener(handler)
    request = urllib.request.Request('http://flights.ctrip.com/')
    html = opener.open(request).read().decode('gbk')
    print(html)

    )利用cookie模拟网站登录

    下面我们以我们学校的教育系统为例,利用cookie实现模拟登录,并将cookie信息保存到文本文件中,来感受一下cookie大法吧!

     1 import urllib
     2 import urllib2
     3 import cookielib
     4 
     5 filename = 'cookie.txt'
     6 #声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件
     7 cookie = cookielib.MozillaCookieJar(filename)
     8 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
     9 postdata = urllib.urlencode({
    10             'stuid':'201200131012',
    11             'pwd':'23342321'
    12         })
    13 #登录教务系统的URL
    14 loginUrl = 'http://jwxt.sdu.edu.cn:7890/pls/wwwbks/bks_login2.login'
    15 #模拟登录,并把cookie保存到变量
    16 result = opener.open(loginUrl,postdata)
    17 #保存cookie到cookie.txt中
    18 cookie.save(ignore_discard=True, ignore_expires=True)
    19 #利用cookie请求访问另一个网址,此网址是成绩查询网址
    20 gradeUrl = 'http://jwxt.sdu.edu.cn:7890/pls/wwwbks/bkscjcx.curscopre'
    21 #请求访问成绩查询网址
    22 result = opener.open(gradeUrl)
    23 print result.read()

    以上程序的原理如下

    创建一个带有cookie的opener,在访问登录的URL时,将登录后的cookie保存下来,然后利用这个cookie来访问其他网址。

    如登录之后才能查看的成绩查询呀,本学期课表呀等等网址,模拟登录就这么实现啦,是不是很酷炫?

  • 相关阅读:
    [工作中的设计模式]中介模式模式Mediator
    [工作中的设计模式]责任链模式chain
    [工作中的设计模式]迭代子模式Iterator
    [工作中的设计模式]组合模式compnent
    TI IPNC Web网页之流程分析
    TI IPNC Web网页之GoDB开发环境
    安装ubuntu时将boot目录单独挂载的意义
    ubuntu添加自定义vga输出分辨率
    GCC编译默认的头文件搜索路径
    设置搜狗输入法在任何时候按左右两侧的shift激活
  • 原文地址:https://www.cnblogs.com/3532gll/p/9605783.html
Copyright © 2011-2022 走看看