admin管理员组

文章数量:1405583

I would like to load random list of referers from my default location path , for example: 'referers.txt' instead of adding direct "facebook url as referer.

My code:

browser = await puppeteer.getBrowserInstance(port);
const page = await browser.newPage();
page.setDefaultTimeout(PAGE_DEFAULT_TIMEOUT * 1000);
page.on('error', handlePageCrash(page));
page.on('pageerror', handlePageCrash(page));
page.setExtraHTTPHeaders({ referer: '/' });

I would like to load random list of referers from my default location path , for example: 'referers.txt' instead of adding direct "facebook url as referer.

My code:

browser = await puppeteer.getBrowserInstance(port);
const page = await browser.newPage();
page.setDefaultTimeout(PAGE_DEFAULT_TIMEOUT * 1000);
page.on('error', handlePageCrash(page));
page.on('pageerror', handlePageCrash(page));
page.setExtraHTTPHeaders({ referer: 'https://www.facebook./' });
Share edited Sep 19, 2020 at 18:16 theDavidBarton 8,9014 gold badges32 silver badges56 bronze badges asked Sep 19, 2020 at 0:54 TranTran 1791 gold badge4 silver badges8 bronze badges 1
  • So what's the question? – Vaviloff Commented Sep 19, 2020 at 6:16
Add a ment  | 

1 Answer 1

Reset to default 6

Instead of a txt you should choose JSON to store your list of referer values in an array.

referers.json

["https://www.google.", "https://www.facebook.", "https://www.instagram."]

Then you will be able to pick a random element form the array by: array[randomIndex]. To generate a random number for the length of your array you have multiple possibilities, Math.floor(Math.random() * array.length) only one of them.

referers.js

const puppeteer = require('puppeteer')
const referers = require('./referers.json')

async function fn() {
  const randomReferer = referers[Math.floor(Math.random() * referers.length)]
  console.log(referers)
  console.log(randomReferer)
  const browser = await puppeteer.launch({ headless: false, devtools: true })
  const page = await browser.newPage()

  page.setExtraHTTPHeaders({ referer: randomReferer })

  await page.goto('https://www.instagram./')
}
fn()

output example:

[
  'https://www.google.',
  'https://www.facebook.',
  'https://www.instagram.'
]
https://www.facebook.

本文标签: javascriptPuppeteer browser referer listStack Overflow