selenium&request 操作cookie 验证
#coding:utf-8
import requests
from selenium import webdriver
#启动浏览器
driver = webdriver.Chrome()
driver.get(url)
#获取浏览器coockie
print "old cookies %s:" %(driver.get_cookie('ASP.NET_SessionId'))
#清除cookie
driver.delete_all_cookies()
print "after delete cookies %s:" %(driver.get_cookies())
#建立request Session
session = requests.Session()
headers = {'Content-Type':'application/x-www-form-urlencoded'}
page1 = session.get(url,headers=headers)
#获取cookie值
__cookievalue = page1.cookies.get('ASP.NET_SessionId')
print __cookievalue
#替换cookie值
driver.add_cookie({'name':'ASP.NET_SessionId','value':__cookievalue})
print "new cookies %s" %(driver.get_cookie('ASP.NET_SessionId'))
page2 = session.post(url,login_data,headers=headers)
driver.get(directoUrl)
print "page2 cookie %s" %(page2.cookies)
使用requests方法单独操作cookie,应用范围 web模拟器(即不通过页面操作,直接通过http协议方式进行测试):
#coding:utf-8
import requests
import json
import time
if __name__ == '__main__':
Headers = {'Content-Type':'application/json'}
r = requests.post(URL,json = DATA,headers = Headers )
print r.cookies
#设置cookie
cookie = "xxx1=%s;xxx2=%s,xxx3=%s" %(r.cookies.get('xxx1'),r.cookies.get('xxx2'),r.cookies.get('xxx3'))
urllib2取cookie值
import urllib2
import cookielib
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
response = opener.open('http://www.google.com')
for item in cookie:
if item.name == 'some_cookie_item_name':
print item.value