Hom's Blog


Python:requests-cookies

Cookies就像字典一样储存了各个项的值并保存起来, 例如我们的用户名, 密码, 登录信息等都可以保存起来. 当网页再次被加载时可以从cookies中找到相关的信息并从而免除再次输入赋值的过程.

在requests中使用get等请求时同样可以赋予cookies信息. 例如我们从浏览器中获取某次网页加载时请求的cookies, 可以同样赋予requests再次使用.

requests请求时加入cookies={key:value}参数即可传递cookies.

import requests
url = 'http://httpbin.org/cookies'
cookies = dict(cookies_are='working')

r = requests.get(url, cookies=cookies)
r.text
#'{"cookies": {"cookies_are": "working"}}'

查询某次请求的cookies很简单, 就像获得headers一样使用cookies属性即可:

url = 'http://example.com/some/cookie/setting/url'
r = requests.get(url)

r.cookies['example_cookie_name']
# 'example_cookie_value'

以下函数可以分解浏览器获得的cookies字符串到一个字典,从而帮助我们模拟requests请求.

def browsercookiesdict(s):
	'''Covert cookies string from browser to a dict'''
	ss=s.split(';')
	outdict={}
	for item in ss:
		i1=item.split('=',1)[0].strip()
		i2=item.split('=',1)[1].strip()
		outdict[i1]=i2
	return outdict


◆ 本文地址: http://platinhom.github.io/2016/01/13/Py-cookies/, 转载请注明 ◆

前一篇: bash:tee
后一篇: Python:os.walk遍历文件夹所有文件


Contact: Hom / 已阅读()
Source 类别: Coding  标签: Python  Internet