使用 Python 原生库如何复用 cookie

2017-08-13 17:16:11 +08:00
 ray1888

现在在写一个需求类似于爬虫的小脚本,然后那个软件是用 http authentacion 进行认证的 想问问大佬们,我用 cookielib 把 cookie 保存之后,如何再去使用他来登陆网站应用? 现在的问题是不能复用 cookie 的我,我直接访问,会出现 401 认证错误。所以如何解决这个问题呢?

2135 次点击
所在节点    Python
10 条回复
ray1888
2017-08-13 17:19:50 +08:00
登陆的部分函数是这样的:
base64string = base64.encodestring(
"%s:%s" % (username, password))[:-1] # 注意哦,这里最后会自动添加一个\n
authheader = "Basic %s" % base64string
cookie = cookielib.CookieJar()
handler = urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(handler)
req = urllib2.Request(url=url)
req.add_header("Authorization", authheader)
response = opener.open(req)
ihciah
2017-08-13 18:33:38 +08:00
无脑 pickle 吧
golmic
2017-08-13 18:42:58 +08:00
为什么一定要用原声库呢? requests 不好么?
wolong
2017-08-13 18:53:52 +08:00
用 requests 很方便啊。
ray1888
2017-08-13 19:58:25 +08:00
@golmic 环境依赖问题,要求不能用第三方的库
linhua
2017-08-13 20:07:54 +08:00
pickle 序列化、反序列化
tempdban
2017-08-14 01:17:36 +08:00
不说别的 你知道为啥会加\n 么 你用错了
lieh222
2017-08-14 09:11:56 +08:00
http authentacion 认证的一般不用管 cookie 了,所有请求头部都带上认证信息就行了
Luckyray
2017-08-14 10:41:02 +08:00
不能用第三方库?难道用的 ios 上的 Pythonista ?
fisher335
2017-08-14 13:35:51 +08:00
python 牛 B 的地方就在第三方库~ 不让用的话的确是扬短避长啊~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/382629

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX