python load cookie 请求

# !/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import urllib
import cookielib
import json
import httplib
import re
import requests
import os
import time
import requests, requests.utils, pickle
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
try:
    import cookielib  # 兼容Python2
except:
    import http.cookiejar as cookielib

s = requests.session()
print s.headers
from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
s.cookies = cookielib.LWPCookieJar(filename="cookies.txt")
# with open('cook.txt', 'r') as f:
#    cookies = json.loads(f.read())
# print cookies

if os.path.exists('cookies.txt'):
    with open("cookies.txt", "r") as f:
        load_cookies = json.loads(f.read())
    s.cookies = requests.utils.cookiejar_from_dict(load_cookies)
    print '1111111111111111111111111111111111111111111'
    #print s.get('https://oauth2.lvchengcaifu.com/').content
    r=s.get('https://oauth2.lvchengcaifu.com/').text
    print type(r)
    r=r.encode('utf8')
    print type(r)
    print r
    #print time.sleep(30)
    if  re.search('xx',r) :
        print 'cookie 可以使用'
    else:
     print 'cookie 已过期'
     url = "https://oauth2.lvchengcaifu.com/login"
     headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

     }
     r = s.get(url, headers=headers, verify=False)
     r = r.text
     print r
     print type(r)
     r = r.encode('unicode-escape')
     print type(r)
     p = re.compile('.*_csrf"s+value="(.*?)".*')
     m = p.match(r)
     token = m.group(1)
     print token
     imgurl = 'https://oauth2.lvchengcaifu.com/Kaptcha.jpg'
     r = s.get(imgurl)
     r = r.content
     # print s
     print type(r)
     print r
     filename = 'E:image.jpg'
     local = open(filename, 'wb')
     local.write(r)
     local.close()
     print "登录二维码已经下载到本地" + "[" + filename + "]"

     ##打开图片
     os.system("start %s" % filename);
     code = raw_input('输入验证码: ')
     print code
     print len(code)

    ## <input type="hidden" id="_csrf" name="_csrf" value="6f772fd9-14da-40c4-b317-e8d9a4336203" />
     login_url = 'https://oauth2.lvchengcaifu.com/login/form'
     data = {'username': 'xx', 'password': '@', '_csrf': token, 'validCode': code}
     response = s.post(login_url, data=data, headers=headers)
     print  response.content
     aa = s.cookies
     print '-------------------------------------'
     print aa
     cookies = requests.utils.dict_from_cookiejar(s.cookies)
     with open("cookies.txt", 'w') as fp:
        json.dump(cookies, fp)
     print(cookies)


原文地址:https://www.cnblogs.com/hzcya1995/p/13348685.html