Почему Cloudflare 403 только по безголовым запросам? - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь использовать Puppeteer для загрузки страницы, защищенной Cloudflare. Когда он загружается как headless, он 403 с и представляет капчу. Однако, когда он загружается не как headless, он получает 200 и загружает страницу правильно.

Я пытаюсь понять, что происходит во время загрузки без заголовка, которая позволяет странице загружаться правильно.

Я думал, что это может быть какое-то локальное выполнение Javascript на странице,но я отключил Javascript во всех случаях. Я также исключил IP и ограничение скорости - все тесты проводились на одной и той же персональной машине, с интервалом не менее 1 минуты.

Вот код:

(async () => {
  let headless = true;
  const browser = await puppeteer.launch({headless});
  const page = await browser.newPage();
  await page.setJavaScriptEnabled(false);

  await page.goto('https://angel.co/company/angellist/jobs');
  await page.screenshot({path: 'out.png'});

  await browser.close();
})();

И результаты:

для headless = false not headless

для headless = true headless

...