Skip to content

Instantly share code, notes, and snippets.

@donfanning
Forked from ToastHelmi/app.js
Created August 15, 2018 12:20
Show Gist options
  • Save donfanning/74e6aa56c6a2618c21fa24078e235e4f to your computer and use it in GitHub Desktop.
Save donfanning/74e6aa56c6a2618c21fa24078e235e4f to your computer and use it in GitHub Desktop.
var Crawler = require("simplecrawler");
var querystring = require('querystring');
var myCrawler = new Crawler("www.geocaching.com", "/login/");
myCrawler.initialProtocol = "https";
myCrawler.acceptCookies = true;
myCrawler.on("addcookie", function (cookie) {
console.log("Cookie");
});
myCrawler.on("crawlstart", function () {
console.log("Crawler start")
});
myCrawler.on("fetchstart", function (queueItem, requestOptions) {
if (requestOptions.host + requestOptions.path == "www.geocaching.com/login/"){
requestOptions.method = 'POST';
requestOptions.headers['User-Agent'] = "Mozilla/5.0 (Windows NT 6.a; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0";
requestOptions.headers['Content-Type'] = 'application/x-www-form-urlencoded';
var form = {
"_EVENTTARGET": "",
"_EVENTARGUMENT": "",
"_VIEWSTATE": "",
"ctl00$ContentBody$tbUsername": "user",
"ctl00$ContentBody$tbPassword":"pass",
"ctl00$ContentBody$btnSignIn": "Sign+In"
};
var formData = querystring.stringify(form);
var contentLength = formData.length;
requestOptions.headers['Content-Lenght'] = contentLength;
requestOptions.body = formData;
//console.log(requestOptions);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment