Skip to content

Instantly share code, notes, and snippets.

@lbngoc
Forked from papoms/fake-referrer.phantom.js
Created September 18, 2017 06:20
Show Gist options
  • Select an option

  • Save lbngoc/5404b403cc92e37c0dd5925f5f442316 to your computer and use it in GitHub Desktop.

Select an option

Save lbngoc/5404b403cc92e37c0dd5925f5f442316 to your computer and use it in GitHub Desktop.

Revisions

  1. @papoms papoms revised this gist Apr 15, 2016. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions fake-referrer.phantom.js
    Original file line number Diff line number Diff line change
    @@ -21,6 +21,8 @@ page.customHeaders = {
    };

    page.onLoadFinished = function(status){
    page.customHeaders = {};

    // get the currentUrl
    var currentUrl = page.evaluate(function() {
    return document.location.href;
  2. @papoms papoms revised this gist Sep 4, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion fake-referrer.phantom.js
    Original file line number Diff line number Diff line change
    @@ -15,7 +15,7 @@ console.log('Going to open '+targetUrl+' with the referrer '+referrer);

    var page = require('webpage').create();

    // set our custom referer
    // set our custom referer [sic]
    page.customHeaders = {
    "Referer" : referrer
    };
  3. @papoms papoms revised this gist Sep 4, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion fake-referrer.phantom.js
    Original file line number Diff line number Diff line change
    @@ -15,7 +15,7 @@ console.log('Going to open '+targetUrl+' with the referrer '+referrer);

    var page = require('webpage').create();

    // set out custom referer
    // set our custom referer
    page.customHeaders = {
    "Referer" : referrer
    };
  4. @papoms papoms revised this gist Aug 25, 2012. 1 changed file with 48 additions and 30 deletions.
    78 changes: 48 additions & 30 deletions fake-referrer.phantom.js
    Original file line number Diff line number Diff line change
    @@ -1,43 +1,61 @@
    var page = require('webpage').create();
    var system = require('system');

    // Exit in case of wrong parameter count.
    if (system.args.length !== 3) {
    console.log('Usage: scriptname targetUrl referrer');
    console.log('example: $> phantomjs fake-referrer.phantom.js http://example.com http://referrer.example.com');
    phantom.exit();
    }

    var referrer = "http://porzky.com/";
    var targetUrl = "http://blog.keyworddomains.com";
    // Set the important pieces
    var targetUrl = system.args[1];
    var referrer = system.args[2];

    //set custom referer
    console.log('Going to open '+targetUrl+' with the referrer '+referrer);

    var page = require('webpage').create();

    // set out custom referer
    page.customHeaders = {
    "Referer" : referrer
    "Referer" : referrer
    };

    page.onLoadFinished = function(status){
    //Only once do
    // get the currentUrl
    var currentUrl = page.evaluate(function() {
    return document.location.href;
    });

    // get the referrer
    var currentReferrer = page.evaluate(function() {
    return document.referrer;
    });


    console.log('Loading ' + currentUrl + ' finished with status: ' + status+'. document.referrer is: '+currentReferrer);

    // Only once do
    if ( page.firstLoad ) {
    page.firstLoad = false;

    //The ID & selector for our injected Link
    var linkId = 'targetLink-unique-id-42424242';
    var selector = '#'+linkId;

    //Inject Link to the page
    page.evaluate("function () {"+
    " var link = document.createElement('a');"+
    " link.setAttribute('href', '"+targetUrl+"');"+
    " link.setAttribute('id', '"+linkId+"');"+
    " link.innerText = 'Click me. I am the target link!';"+
    " link.textContent = 'Click me. I am the target link!';"+
    " document.body.appendChild(link) "+
    ";}"
    );
    page.evaluate("function() {"+
    "var elem = document.querySelector('"+selector+"');"+
    "var evt = document.createEvent('MouseEvents');"+
    "evt.initMouseEvent('click', true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, elem);"+
    "console.log('Going to dispatch MouseEvent / Click on the link');"+
    "elem.dispatchEvent(evt);"+
    "return true;"+
    "}"
    );
    console.log('Injecting the Link.');

    // Inject and Click a Link to our target
    page.evaluate(function (href) {
    // Create and append the link
    var link = document.createElement('a');
    link.setAttribute('href', href);
    document.body.appendChild(link);

    // Dispatch Click Event on the link
    var evt = document.createEvent('MouseEvents');
    evt.initMouseEvent('click', true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, link);
    link.dispatchEvent(evt);
    }, targetUrl);
    } else {
    console.log('Exiting');
    phantom.exit();
    };
    console.log('End of onLoadFinished');
    };

    page.firstLoad = true;
  5. @papoms papoms created this gist Aug 24, 2012.
    44 changes: 44 additions & 0 deletions fake-referrer.phantom.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,44 @@
    var page = require('webpage').create();

    var referrer = "http://porzky.com/";
    var targetUrl = "http://blog.keyworddomains.com";

    //set custom referer
    page.customHeaders = {
    "Referer" : referrer
    };

    page.onLoadFinished = function(status){
    //Only once do
    if ( page.firstLoad ) {
    page.firstLoad = false;

    //The ID & selector for our injected Link
    var linkId = 'targetLink-unique-id-42424242';
    var selector = '#'+linkId;

    //Inject Link to the page
    page.evaluate("function () {"+
    " var link = document.createElement('a');"+
    " link.setAttribute('href', '"+targetUrl+"');"+
    " link.setAttribute('id', '"+linkId+"');"+
    " link.innerText = 'Click me. I am the target link!';"+
    " link.textContent = 'Click me. I am the target link!';"+
    " document.body.appendChild(link) "+
    ";}"
    );
    page.evaluate("function() {"+
    "var elem = document.querySelector('"+selector+"');"+
    "var evt = document.createEvent('MouseEvents');"+
    "evt.initMouseEvent('click', true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, elem);"+
    "console.log('Going to dispatch MouseEvent / Click on the link');"+
    "elem.dispatchEvent(evt);"+
    "return true;"+
    "}"
    );
    };
    console.log('End of onLoadFinished');
    };

    page.firstLoad = true;
    page.open(referrer);