co.wrap(function * (conf) { config = conf let responseAndBody = yield request.get('/accounts/login/') let $ = cheerio.load(responseAndBody[1]) let token = $('input[name=csrfmiddlewaretoken]').val() logger.info('token get') debug('token:' + token) let cookie = jar.getCookies('https://leetcode.com/') let cookieOfToken = cookie.find(element => element.key === 'csrftoken') assert.notEqual(cookieOfToken, undefined, 'network error: cannot get csrftoken') yield request({method: 'POST', url: '/accounts/login/', form: { 'csrfmiddlewaretoken': token, 'login': conf['username'], 'password': conf['password'] } }) cookie = jar.getCookies('https://leetcode.com/') assert.notEqual(cookie.find(element => element.key === 'LEETCODE_SESSION'), undefined, 'incorrect username or password') logger.info('login successfully') })
rememberCookies(jar.getCookies(COOKIES_URL));