> ## Documentation Index
> Fetch the complete documentation index at: https://help.decodo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Session Types

> Datacenter Pay/GB Static and Rotating Session Types

You can generate proxy port examples of your preferred session type in the [**Datacenter → Datacenter Pay/GB → Proxy Setup**](https://dashboard.decodo.com/shared-dc-gb-proxies/proxy-setup) section on your dashboard.

***

## Static Port

Ports **`10001`**-**`63000`** provide a static IP address that remains until you decide to change it or the session ends.

* Change the IP address manually by switching to a different port.

### `User:pass` example

Here are a few basic request examples with a static port in various programming languages when authenticating via the `username:password` method.

<CodeGroup>
  ```shellscript cURL theme={null}
  curl -U "username:password" -x "dc.decodo.com:10001" "https://ip.decodo.com/json"
  ```

  ```python Python theme={null}
  import requests
  url = 'https://ip.decodo.com/json'
  username = 'username'
  password = 'password'
  proxy = f"http://{username}:{password}@dc.decodo.com:10001"
  result = requests.get(url, proxies = {
      'http': proxy,
      'https': proxy
  })
  print(result.text)
  ```

  ```javascript Node theme={null}
  const axios = require('axios');
  const { HttpsProxyAgent } = require('https-proxy-agent');

  const url = 'https://ip.decodo.com/json';
  const proxyAgent = new HttpsProxyAgent(
    'http://username:password@dc.decodo.com:10001');

  axios
    .get(url, {
      httpsAgent: proxyAgent,
    })
    .then((response) => {
      console.log(response.data);
    });
  ```

  ```php PHP theme={null}
  <?php

        $url = 'ip.decodo.com/json';
        $proxy = 'dc.decodo.com';
        $port = 10001;
        $user = 'username';
        $psw = 'password';

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        
        curl_setopt($ch, CURLOPT_PROXY, "$proxy:$port");
        curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$user:$psw");
        $result = curl_exec($ch);
        curl_close($ch);

        if ($result) {
          echo $result . PHP_EOL;
        }
  ```

  ```go Go theme={null}
  package main

  import (
      "log"
      "net/http"
      "net/url"
  )

     func main() {
       proxyUrl, err := url.Parse("http://username:password@dc.decodo.com:10001")
       if err != nil {
         log.Fatalln(err)
       }

       client := &http.Client{
         Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)},
       }
       req, err := http.NewRequest("GET", "https://ip.decodo.com/json", nil)
       if err != nil {
         log.Println(err)
       }

       res, err := client.Do(req)
       log.Println(res)

       if err != nil {
         log.Println(err)
       }
     }
  ```
</CodeGroup>

### Whitelisted IP example

Here are a few basic request examples with a static port in various programming languages when authenticating via the whitelisted IP method.

<CodeGroup>
  ```shellscript cURL theme={null}
  curl -x "dc.decodo.com:10001" "https://ip.decodo.com/json"
  ```

  ```python Python theme={null}
  import requests
  url = 'https://ip.decodo.com/json'
  proxy = f"http://dc.decodo.com:10001"
  result = requests.get(url, proxies = {
      'http': proxy,
      'https': proxy
  })
  print(result.text)
  ```

  ```javascript Node theme={null}
  const axios = require('axios');
  const { HttpsProxyAgent } = require('https-proxy-agent');

  const url = 'https://ip.decodo.com/json';
  const proxyAgent = new HttpsProxyAgent (
    'http://dc.decodo.com:10001');

  axios
    .get(url, {
      httpsAgent: proxyAgent,
    })
    .then((response) => {
      console.log(response.data);
    });
  ```

  ```php PHP theme={null}
  <?php

        $url = 'ip.decodo.com/json';
        $proxy = 'dc.decodo.com';
        $port = 10001;

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        
        curl_setopt($ch, CURLOPT_PROXY, "$proxy:$port");
        $result = curl_exec($ch);
        curl_close($ch);
        

        if ($result) {
          echo $result . PHP_EOL;
        }
  ```

  ```go Go theme={null}
  package main

  import (
      "log"
      "net/http"
      "net/url"
  )
      func main() {
       proxyUrl, err := url.Parse("http://dc.decodo.com:10001")
       if err != nil {
         log.Fatalln(err)
       }

       client := &http.Client{
         Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)},
       }
       req, err := http.NewRequest("GET", "https://ip.decodo.com/json", nil)
       if err != nil {
         log.Println(err)
       }

       res, err := client.Do(req)
       log.Println(res)

       if err != nil {
         log.Println(err)
       }
     }
  ```
</CodeGroup>

***

## Rotating Port

Port **`10000`** rotates the IP address on every request you make.

### `User:pass` example

Here are a few basic request examples with a rotating port in various programming languages when authenticating via the `username:password` method.

<CodeGroup>
  ```shellscript cURL theme={null}
  curl -U "username:password" -x "dc.decodo.com:10000" "https://ip.decodo.com/json"
  ```

  ```python Python theme={null}
  import requests
  url = 'https://ip.decodo.com/json'
  username = 'username'
  password = 'password'
  proxy = f"http://{username}:{password}@dc.decodo.com:10000"
  result = requests.get(url, proxies = {
      'http': proxy,
      'https': proxy
  })
  print(result.text)
  ```

  ```javascript Node theme={null}
  const axios = require('axios');
  const { HttpsProxyAgent } = require('https-proxy-agent');

  const url = 'https://ip.decodo.com/json';
  const proxyAgent = new HttpsProxyAgent(
    'http://username:password@dc.decodo.com:10000');

  axios
    .get(url, {
      httpsAgent: proxyAgent,
    })
    .then((response) => {
      console.log(response.data);
    });
  ```

  ```php PHP theme={null}
  <?php

        $url = 'ip.decodo.com/json';
        $proxy = 'dc.decodo.com';
        $port = 10000;
        $user = 'username';
        $psw = 'password';

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        
        curl_setopt($ch, CURLOPT_PROXY, "$proxy:$port");
        curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$user:$psw");
        $result = curl_exec($ch);
        curl_close($ch);

        if ($result) {
          echo $result . PHP_EOL;
        }
  ```

  ```go Go theme={null}
  package main

  import (
      "log"
      "net/http"
      "net/url"
  )

     func main() {
       proxyUrl, err := url.Parse("http://username:password@dc.decodo.com:10000")
       if err != nil {
         log.Fatalln(err)
       }

       client := &http.Client{
         Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)},
       }
       req, err := http.NewRequest("GET", "https://ip.decodo.com/json", nil)
       if err != nil {
         log.Println(err)
       }

       res, err := client.Do(req)
       log.Println(res)

       if err != nil {
         log.Println(err)
       }
     }
  ```
</CodeGroup>

### Whitelisted IP example

Here are a few basic request examples with a rotating port in various programming languages when authenticating via the whitelisted IP method.

<CodeGroup>
  ```shellscript cURL theme={null}
  curl -x "dc.decodo.com:10000" "https://ip.decodo.com/json"
  ```

  ```python Python theme={null}
  import requests
  url = 'https://ip.decodo.com/json'
  proxy = f"http://dc.decodo.com:10000"
  result = requests.get(url, proxies = {
      'http': proxy,
      'https': proxy
  })
  print(result.text)
  ```

  ```javascript Node theme={null}
  const axios = require('axios');
  const { HttpsProxyAgent } = require('https-proxy-agent');

  const url = 'https://ip.decodo.com/json';
  const proxyAgent = new HttpsProxyAgent (
    'http://dc.decodo.com:10000');

  axios
    .get(url, {
      httpsAgent: proxyAgent,
    })
    .then((response) => {
      console.log(response.data);
    });
  ```

  ```php PHP theme={null}
  <?php

        $url = 'ip.decodo.com/json';
        $proxy = 'dc.decodo.com';
        $port = 10000;

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        
        curl_setopt($ch, CURLOPT_PROXY, "$proxy:$port");
        $result = curl_exec($ch);
        curl_close($ch);
        

        if ($result) {
          echo $result . PHP_EOL;
        }
  ```

  ```go Go theme={null}
  package main

  import (
      "log"
      "net/http"
      "net/url"
  )
      func main() {
       proxyUrl, err := url.Parse("http://dc.decodo.com:10000")
       if err != nil {
         log.Fatalln(err)
       }

       client := &http.Client{
         Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)},
       }
       req, err := http.NewRequest("GET", "https://ip.decodo.com/json", nil)
       if err != nil {
         log.Println(err)
       }

       res, err := client.Do(req)
       log.Println(res)

       if err != nil {
         log.Println(err)
       }
     }
  ```
</CodeGroup>

***

<Columns cols={2}>
  <Card title="Support" href="https://direct.lc.chat/12092754" cta="Let's chat!">
    Need help or just want to say hello? Our support is available 24/7. \
    You can also reach us anytime via email at [support@decodo.com](mailto:support@decodo.com).
  </Card>

  <Card title="Feedback" href="mailto:feedback@decodo.com" cta="Share feedback">
    Can't find what you're looking for? Request an article! \
    Have feedback? Share your thoughts on how we can improve.
  </Card>
</Columns>
