44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
var system = require('system');
|
|
var env = system.env;
|
|
|
|
function javascriptRequired () {
|
|
page.onLoadFinished = dumpCookies;
|
|
page.evaluate(function () { document.forms[0].submit(); });
|
|
}
|
|
|
|
function dumpCookies () {
|
|
var file = require('fs').open(env['COOKIES'], 'w');
|
|
for (var i = 0; i < phantom.cookies.length; ++i) {
|
|
var cookie = phantom.cookies[i];
|
|
file.writeLine(cookie.domain + "\tTRUE\t" + cookie.path
|
|
+ "\t" + (cookie.secure ? "TRUE" : "FALSE") + "\t0\t"
|
|
+ cookie.name + "\t" + cookie.value
|
|
);
|
|
}
|
|
file.close();
|
|
serializeLoginForm();
|
|
}
|
|
|
|
function serializeLoginForm () {
|
|
page.includeJs('https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js', function () {
|
|
var data = page.evaluate(function () { return jQuery(document.forms[0]).serialize(); });
|
|
for (var key in env) {
|
|
if (key.indexOf('ORACLE_LOGIN_') == 0 && env.hasOwnProperty(key)) {
|
|
var name = key.substr(13) + '=';
|
|
data = data.replace(name, name + env[key]);
|
|
}
|
|
}
|
|
system.stdout.writeLine(data);
|
|
phantom.exit();
|
|
});
|
|
}
|
|
|
|
phantom.addCookie({'name': 'oraclelicense', 'value': 'accept-sqldev-cookie', 'domain': '.oracle.com' });
|
|
|
|
var page = require('webpage').create();
|
|
page.settings.userAgent = env['USER_AGENT'];
|
|
|
|
page.onResourceError = function(error) { system.stderr.writeLine(JSON.stringify(error)); phantom.exit(1); }
|
|
page.onLoadFinished = javascriptRequired;
|
|
page.open('https://edelivery.oracle.com/akam/otn/linux/oracle11g/xe/' + env['ORACLE_FILE']);
|