cookie的工作原理是什么?如何支持脚本之家?
优采云 发布时间: 2021-05-28 07:06cookie的工作原理是什么?如何支持脚本之家?
1、首先,我们必须首先了解cookie的工作原理。
Cookie由服务器生成并发送到User-Agent(通常是浏览器)。浏览器会将Cookie的键/值保存到某个目录中的文本文件中。下次您请求相同的消息网站将cookie发送到服务器(前提是浏览器设置为启用cookie)。 cookie名称和值可以由服务器端开发本身定义。对于JSP,还可以直接编写jsessionid,以便服务器可以知道该用户是否为有效用户以及是否需要再次登录。
2、之后,我们将获得Cookie以便用户正常登录。
Python提供了cookieJar库,只需将cookieJar实例作为参数传递给urllib2中的打开程序即可。
然后访问登录页面一次,cookie已保存。通过该实例访问所有页面后,将存在用于正常登录的cookie。
以人人为例。
#encoding=utf-8
import urllib2
import urllib
import cookielib
def renrenBrower(url,user,password):
#登陆页面,可以通过抓包工具分析获得,如fiddler,wireshark
login_page = "http://www.renren.com/PLogin.do"
try:
#获得一个cookieJar实例
cj = cookielib.CookieJar()
#cookieJar作为参数,获得一个opener的实例
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#伪装成一个正常的浏览器,避免有些web服务器拒绝访问。
opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]
#生成Post数据,含有登陆用户名密码。
data = urllib.urlencode({"email":user,"password":password})
#以post的方法访问登陆页面,访问之后cookieJar会自定保存cookie
opener.open(login_page,data)
#以带cookie的方式访问页面
op=opener.open(url)
#读取页面源码
data= op.read()
return data
except Exception,e:
print str(e)
#访问某用户的个人主页,其实这已经实现了人人网的签到功能。
print renrenBrower("http://www.renren.com/home","用户名","密码")
以上登录网页操作方法的python实现是编辑器共享的所有内容,希望给您提供参考,并希望您可以更多地支持脚本库。