Skip to content

A tutorial for implementing Oxylabs` Residential and Datacenter proxies with Puppeteer using JavaScript

Notifications You must be signed in to change notification settings

oxylabs/puppeteer-proxy-integration-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Oxylabs' Proxy Integration with Puppeteer

Oxylabs promo code

Requirements

Puppeteer

npm install puppeteer

Integrating Datacenter Proxies

Getting a List of Proxies

Open the following URL in the browser and enter your credentials. You will see a list of proxies in plain text:

https://proxy.oxylabs.io/all

Using Proxies

If you wish to select any of the provided proxies, save the proxy IP, along with the port in a variable.

To use all these proxies, first, save these proxies as an array in your code:

let proxies = [
    '127.0.0.1:60000',
    '127.0.0.2:60000',
    '127.0.0.3:60000',
    '127.0.0.4:60000'
  ]

To select one of these proxies randomly, use the following line of code:

var proxy = proxies[Math.floor(Math.random() * proxies.length)];

The proxy server you will use needs to be supplied as --proxy-server argument.

Create a variable that can contain all the arguments in an array.

Additionally, launchOptions can also contain other information, such as headless mode as following:

const launchOptions = {
  // Set the proxy server to the server variable
  args: ['--proxy-server=' + proxy],

  // Set additional launch options here
  headless: false
};

After creating the launchOptions variable, create a puppeteer instance and launch the browser.

const browser = await puppeteer.launch(launchOptions);

Finally, to authenticate using your credentials, call the page.authenticate function after creating a page.

// Create a new page
const page = await browser.newPage();

// Set the username and password provided by Oxylabs
await page.authenticate({
  username: 'USERNAME',
  password: 'PASSWORD'
});

For the complete code sample, see this file.

Integrating Residential Proxies

Random Proxy Using the Proxy API

To get a random proxy, use the proxy server pr.oxylabs.io:7777.

As mentioned above, the proxy server you will use needs to be supplied as --proxy-server argument.

Create a variable that can contain all the arguments in an array.

Additionally, launchOptions can also contain other information, such as headless mode as following:

const launchOptions = {
  // Set the proxy server to the server variable
  args: ['--proxy-server=pr.oxylabs.io:7777']
};

After creating the launchOptions variable, create a puppeteer instance and launch the browser.

const browser = await puppeteer.launch(launchOptions);

Finally, to authenticate using your credentials, call the page.authenticate function after creating a page.

// Create a new page
const page = await browser.newPage();

// Set the username and password provided by Oxylabs
await page.authenticate({
  username: 'USERNAME',
  password: 'PASSWORD'
});

For the complete code sample, see this file.

Country Specific Proxies

If you wish to use country-specific proxies, all you need to do is change the proxy server.

For example, if you want to use a proxy for the United States, you can use the following code:

const launchOptions = {
  args: ['--proxy-server=us-pr.oxylabs.io:10001']
};

In this example, us-pr.oxylabs.io:10000 is the country specific entry point for the United States.

Another example is gb-pr.oxylabs.io:20000, which is the country specific entry point for the United Kingdom.

For a complete list of all entry points, see Country Specific Entry Nodes