• 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来访问其他网址。

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

  • 相关阅读:
    zabbix自动发现 url 以及对http返回状态码监控实现 告警
    iOS 开发者账号到期续费流程
    iOS 开发 -----公司测试打包上传流程
    go语言 二叉树
    GO 语言队列实现
    GO 语言常用排序
    go 语言实现栈原理
    循环链表实现原理及运用约瑟夫环实例
    双向链表实现原理
    单向链表实现原理
  • 原文地址:https://www.cnblogs.com/3532gll/p/9605783.html
Copyright © 2020-2023  润新知