您的位置:首页 > 编程语言 > Python开发

利用Python获取cookie的方法,相比java代码简便不少

2017-08-11 17:51 676 查看
1、通过urllib库,是python的标准库,不需要另外引入,直接看代码,注意代码的缩进:
# coding=UTF-8
import cookielib
import urllib2

class RyLogin():
"""
方法用于获取cookie:
url:请求地址
data:请求参数
headers:需要设置的头部信息
cookieKey:需要获取的cookie的key
"""

def GetCookie(self, url, data, headers, cookieKey):
# 最终获取的cookie值
cookieValue = '';
# 声明一个CookieJar对象实例来保存cookie
cookies = cookielib.CookieJar()
# 利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
handler = urllib2.HTTPCookieProcessor(cookies)
# 通过handler来构建opener
opener = urllib2.build_opener(handler);
# 设置请求头
opener.addheaders = headers;
# 此处的open方法同urllib2的urlopen方法,也可以传入request
response = opener.open(fullurl=url, data=data)
for item in cookies:
if item.name == cookieKey:
cookieValue = item.name + '=' + item.value;
return cookieValue;

"""
定义实参
"""
url = 'http://216.rongyi.com/ryoms/j_spring_security_check';
data = 'j_username=superadmin&j_password=123456&verifyCode=';
headers = [('Content-Type', 'application/x-www-form-urlencoded')];
cookieKey = 'RYST';

"""
创建对象并调用
"""
ryLogin = RyLogin();
print (ryLogin.GetCookie(url, data, headers, cookieKey))

2、通过第三方库requests来实现,直接看代码

# coding=UTF-8
import requests

# 登录大运营后台
class RyLogin:
# 定义常量cookie的key值
cookie = 'Cookie';

"""
此方法用于获取cookie信息
url:请求地址
data:请求参数,key-value形式
heasers:请求头信息
cookieKey:需要获取的cookie的key
"""

def GetCookie(self, url, data, headers, cookieKey):
# 通过requests的post方法发送请求并获取返回信息
response = requests.post(url=url, data=data, headers=headers);
# 获取请求的headers信息
dict = response.request.headers;
# 获取未经处理的cookie
cookieStr = dict[self.cookie];
# 获取最终目标的cookie值
cookieValue = cookieStr[cookieStr.find(cookieKey) + 2:];
return cookieValue;

"""
定义实参
"""
url = 'http://216.rongyi.com/ryoms/ryoms/j_spring_security_check';
data = 'j_username=superadmin&j_password=123456&verifyCode=';
headers = {'Content-Type': 'application/x-www-form-urlencoded'};
cookieKey = '; RYST=';

"""
创建对象并调用
"""
ryLogin = RyLogin();
print(ryLogin.GetCookie(url, data, headers, cookieKey));


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐