Welcome 微信登录

首页 / 操作系统 / Linux / Python 的cookie处理操作

  • 使用已有的cookie访问网站
import cookielib, urllib2
ckjar = cookielib.MozillaCookieJar(os.path.join(’C:Documents and Settings omApplication DataMozillaFirefoxProfilesh5m61j1i.default’, ‘cookies.txt’))
req = urllib2.Request(url, postdata, header)
req.add_header(’User-Agent’,  
‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)’)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(ckjar) )
f = opener.open(req) 
htm = f.read() 
f.close()
  • 访问网站获得cookie,并把获得的cookie保存在cookie文件中
import cookielib, urllib2req = urllib2.Request(url, postdata, header) 
req.add_header(’User-Agent’,  
‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)’)ckjar = cookielib.MozillaCookieJar(filename) 
ckproc = urllib2.HTTPCookieProcessor(ckjar)opener = urllib2.build_opener(ckproc)f = opener.open(req) 
htm = f.read() 
f.close()ckjar.save(ignore_discard=True, ignore_expires=True)
  • 使用指定的参数生成cookie,并用这个cookie访问网站
  1. import urllib.request as ur  
  2. import urllib.parse as up  
  3. #import http.cookiejar as cj   
  4. #coding:utf8   
  5.   
  6. #jiayuan   
  7. name="xxxxxx"  
  8.   
  9. headers={"User-Agent":"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)",  
  10.          }  
  11.   
  12. #cookiejar = cj.CookieJar()   
  13. #urlopener = ur.build_opener(ur.HTTPCookieProcessor(cookiejar))   
  14. urlopener = ur.build_opener(ur.HTTPCookieProcessor())  
  15.   
  16. values = {"password":"xxx","name":"xxx@xxx.com"}  
  17. data=up.urlencode(values)  
  18. #print (data.encode().decode("utf8"))   
  19.   
  20.   
  21. url1="http://login.jiayuan.com/dologin.php"  
  22.   
  23. request = ur.Request(url1, data.encode(),headers)  
  24. url = urlopener.open(request)  
  25. #page = url.read().decode("utf8","ingore")   
  26.   
  27.   
  28.   
  29. url2="http://www.jiayuan.com/usercp#maodian"  
  30.   
  31. request = ur.Request(url2,headers=headers)  
  32. url = urlopener.open(request)  
  33. page = url.read().decode("utf8","ingore")  
  34.   
  35.   
  36. if page.find(name)>0:  
  37.     print ("ok")  
  38. else:  
  39.     print ("fail")