#!C:/Python27
#coding=utf-8
import urllib2
import urllib
import cookielib
#获取cookie,并将保存在变量中的cookie打印出来
def Cookie():
#声明一个CookieJar对象来保存cookie
cookie = cookielib.CookieJar()
#创建cookie处理器
handler = urllib2.HTTPCookieProcessor(cookie)
#构建opener
opener = urllib2.build_opener(handler)
#创建请求
res = opener.open('http://10.118.100.3/')
for item in cookie:
print 'name:' + item.name + '-value:' + item.value
#将cookie保存在文件中
def saveCookie():
#设置保存cookie的文件
filename = 'cookie.txt'
#声明一个MozillaCookieJar对象来保存cookie,之后写入文件
cookie = cookielib.MozillaCookieJar(filename)
#创建cookie处理器
handler = urllib2.HTTPCookieProcessor(cookie)
#构建opener
opener = urllib2.build_opener(handler)
#创建请求
res = opener.open('http://10.118.100.3/')
#保存cookie到文件
#ignore_discard的意思是即使cookies将被丢弃也将它保存下来
#ignore_expires的意思是如果在该文件中cookies已经存在,则覆盖原文件写入
cookie.save(ignore_discard=True,ignore_expires=True)
print u'保存Cookie成功'
#从文件中获取cookie并且访问(我们通过这个方法就可以打开保存在本地的cookie来模拟登录)
def getCookie():
#创建一个MozillaCookieJar对象
cookie = cookielib.MozillaCookieJar()
#从文件中的读取cookie内容到变量
cookie.load('cookie.txt',ignore_discard=True,ignore_expires=True)
#打印cookie内容,证明获取cookie成功
for item in cookie:
print u'获取Cookie:'
print 'name:' + item.name + '-value:' + item.value
#利用获取到的cookie创建一个opener
handler = urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(handler)
res = opener.open('http://10.118.100.3/ac_portal/login.php')
print res.read().decode()
def CookieLogin():
Login_URL = 'http://10.118.100.3/ac_portal/default/pc.html?tabs=pwd'
#get_url 为使用cookie 所登录的网站,该网址必须先登录才可
get_url = 'http://10.118.100.3/ac_portal/login.php'
values = {'opr':'pwdLogin','userName':'89003422','pwd':'Wangbenyan01','rememberPwd':'0'}
postdata = urllib.urlencode(values).encode()
user_agent = r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36'
headers = {'User-Agent':user_agent,'Connection':'keep-alive'}
#将cookie保存到本地
filename = 'cookie.txt'
#声明一个MozillaCookieJar对象来保存cookie,之后写入文件
cookie = cookielib.MozillaCookieJar(filename)
#创建cookie处理器
handler = urllib2.HTTPCookieProcessor(cookie)
#构建opener
opener = urllib2.build_opener(handler)
request = urllib2.Request(Login_URL,postdata,headers)
try:
response = opener.open(request)
except urllib2.URLError as e:
print e.reason
cookie.save(ignore_discard=True,ignore_expires=True)
for item in cookie:
print u'获取Cookie:'
print 'name:' + item.name + '-value:' + item.value
#使用cookie 登录get_url
get_request = urllib2.Request(get_url,headers=headers)
get_response = opener.open(get_request)
print get_response.read().decode()
#Cookie()
#saveCookie()
#getCookie()
CookieLogin()
Getcookie.py
最新推荐文章于 2021-08-25 17:38:00 发布