> For the complete documentation index, see [llms.txt](https://developers.oxylabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.oxylabs.io/products/pt-br/proxies/residential-proxies/session-control.md).

# Controle de sessão e rotação de IP

Aprenda a gerenciar sessões de Residential Proxy para manter o mesmo endereço IP em várias solicitações e controlar a duração da sessão e a rotação de IP.

Oxylabs Residential Proxies alternam automaticamente a cada requisição por padrão. Para manter o mesmo endereço IP em requisições sequenciais, configure parâmetros de sessão sticky na sua string de nome de usuário ou conecte-se por meio de portas de entrada sticky do proxy.

<table><thead><tr><th width="156">Método</th><th width="132">Parâmetro</th><th>Descrição</th></tr></thead><tbody><tr><td><a href="#default-sticky-sessions-sessid"><strong>Sessão sticky</strong></a></td><td><code>sessid</code></td><td>Rotaciona automaticamente para um novo IP para manter a sessão ativa. 10 minutos (padrão).</td></tr><tr><td><a href="#extend-session-duration-sesstime"><strong>Duração da sessão</strong></a></td><td><code>sesstime</code></td><td>Estende <code>sessid</code> a duração da sessão. A sessão termina quando o temporizador expira. Até 1440 min (24 hrs)</td></tr><tr><td><a href="#single-ip-strict-session-binding-sessid_oneip"><strong>Vinculação a um único IP</strong></a></td><td><code>sessid_oneip</code></td><td>Vincula estritamente a um único nó de saída. Falha com HTTP <code>502</code> se o IP cair. Até 1440 min (24 hrs)</td></tr><tr><td><a href="#sticky-proxy-entry-nodes-port-range"><strong>Portas sticky</strong></a></td><td>Intervalo de portas</td><td>Persistência baseada em porta (portas <code>10001–49999</code>) não exige parâmetros baseados em nome de usuário. Até 10 minutos.</td></tr></tbody></table>

## Sessões sticky padrão (`sessid`)

O `sessid` o parâmetro roteia várias requisições pelo mesmo endereço IP enquanto o IP estiver online. Adicione `sessid` após o seu `username` com uma string alfanumérica aleatória (por exemplo, `sessid-abcd1234`):

```
customer-USERNAME-cc-DE-sessid-abcd1234:PASSWORD
```

Por padrão, uma sessão dura 10 minutos ou termina após 60 segundos sem nenhuma requisição — o que vier primeiro. Quando isso acontece, um novo endereço IP é atribuído automaticamente para que suas requisições continuem sem interrupção. Para alterar a duração da sessão, consulte [Estender a duração da sessão](#extend-session-duration-sesstime).

#### Exemplos de código

{% tabs %}
{% tab title="cURL" %}

```shell
curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-cc-DE-sessid-abcd1234:PASSWORD" https://ip.oxylabs.io/location
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$username = 'USERNAME';
$password = 'PASSWORD';
$country = 'DE';
$session = mt_rand();
$proxy = 'pr.oxylabs.io:7777';
$query = curl_init('https://ip.oxylabs.io/location');
curl_setopt($query, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($query, CURLOPT_PROXY, "http://$proxy");
curl_setopt($query, CURLOPT_PROXYUSERPWD, "customer-$username-cc-$country-sessid-$session:$password");
$output = curl_exec($query);
curl_close($query);
if ($output)
    echo $output;
?>
```

{% endtab %}

{% tab title="Python" %}

```python
import urllib.request
import random
username = 'USERNAME'
password = 'PASSWORD'
country = 'DE'
session = random.random()
entry = ('http://customer-%s-cc-%s-sessid-%s:%s@pr.oxylabs.io:7777' %
    (username, country, session, password))
query = urllib.request.ProxyHandler({
    'http': entry,
    'https': entry,
})
execute = urllib.request.build_opener(query)
print(execute.open('https://ip.oxylabs.io/location').read())
```

{% endtab %}

{% tab title="Java" %}

```java
package example;

import java.io.*;
import java.util.Random;
import org.apache.http.HttpHost;
import org.apache.http.auth.*;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.fluent.Request;
import org.apache.http.client.methods.*;
import org.apache.http.impl.client.*;
import org.apache.http.impl.conn.BasicHttpClientConnectionManager;
import org.apache.http.util.EntityUtils;

class Client {
    public static final String username = "USERNAME";
    public static final String password = "PASSWORD";
    public String session_id = Integer.toString(new Random().nextInt(Integer.MAX_VALUE));
    public CloseableHttpClient client;

    public Client(String country) {
        String login = "customer-"+username+(country!=null ? "-cc-"+country : "")
            +"-sessid-" + session_id;
        HttpHost entry_node = new HttpHost("pr.oxylabs.io:7777");
        CredentialsProvider credentials_provider = new BasicCredentialsProvider();
        credentials_provider.setCredentials(new AuthScope(entry_node),
            new UsernamePasswordCredentials(login, password));
        client = HttpClients.custom()
            .setConnectionManager(new BasicHttpClientConnectionManager())
            .setProxy(entry_node)
            .setDefaultCredentialsProvider(credentials_provider)
            .build();
    }

    public String request(String url) throws IOException {
        HttpGet request = new HttpGet(url);
        CloseableHttpResponse response = client.execute(request);
        try {
            return EntityUtils.toString(response.getEntity());
        } finally { response.close(); }
    }

    public void close() throws IOException { client.close(); }
}

public class Example {
    public static void main(String[] args) throws IOException {
        Client client = new Client("de");
        try {
            System.out.println(client.request("https://ip.oxylabs.io/location"));
        } finally { client.close(); }
    }
}
```

{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Net;

class Client : WebClient
{
    public static string username = "USERNAME";
    public static string password = "PASSWORD";
    public string session_id = new Random().Next().ToString();

    public Client(string country_iso = null)
    {
        this.Proxy = new WebProxy("pr.oxylabs.io:7777");
        var login = "customer-"+username+(country_iso != null ? "-cc-"+country_iso : "")
            +"-sessid-"+session_id;
        this.Proxy.Credentials = new NetworkCredential(login, password);
    }

    protected override WebRequest GetWebRequest(Uri address)
    {
        var request = base.GetWebRequest(address) as HttpWebRequest;
        request.ConnectionGroupName = session_id;
        return request;
    }
}

class Example
{
    static void Main()
    {
        var client = new Client("de");
        Console.WriteLine(client.DownloadString("https://ip.oxylabs.io/location"));
    }
}
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'uri'
require 'net/http'
require 'net/https'

entry_node = 'pr.oxylabs.io'
entry_port = '7777'
username = 'USERNAME'
password = 'PASSWORD'
session_id = Random.rand(1000000)

uri = URI.parse("https://ip.oxylabs.io/location")
headers = {
    'Accept-Encoding' => 'gzip'
}

proxy = Net::HTTP::Proxy(entry_node, entry_port, "#{username}-cc-DE-sessid-#{session_id}", password)
http = proxy.new(uri.host,uri.port)

if uri.scheme == 'https'
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
end

req = Net::HTTP::Get.new(uri.path, headers)

result = http.start do |con|
    con.request(req)
end

puts result.body
```

{% endtab %}
{% endtabs %}

## Estender a duração da sessão (`sesstime`)

Combine o `sesstime` parâmetro com `sessid` para estender a duração da sessão além do padrão de 10 minutos (ou até 60 segundos de inatividade), até 1440 minutos (24 horas). Especifique a duração em minutos (por exemplo, `sesstime-30` para 30 minutos):

```
customer-USERNAME-cc-DE-sessid-abcd1234-sesstime-30:PASSWORD
```

{% hint style="info" %}
**Observação:** O parâmetro de tempo da sessão não garante que todas as suas requisições terminem antes do fim da sessão. A sessão expira assim que o limite de tempo é atingido, mesmo que algumas requisições ainda estejam em andamento.
{% endhint %}

{% hint style="warning" %}
Como a disponibilidade de IPs de proxy residencial é dinâmica, um nó de saída individual pode se desconectar antes que o tempo de sessão especificado expire. Se um nó de saída cair, `sessid` será rotacionado automaticamente para um novo IP para atender à sua requisição.&#x20;
{% endhint %}

#### Exemplos de código

Escolhemos o mesmo IP alemão do exemplo anterior; desta vez, estamos adicionando `sessid` string e `sesstime` parâmetro por 7 minutos:

{% tabs %}
{% tab title="cURL" %}

```shell
curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-cc-DE-sessid-abcd1234-sesstime-7:PASSWORD" https://ip.oxylabs.io/location
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$username = 'USERNAME';
$password = 'PASSWORD';
$country = 'DE';
$session = mt_rand();
$sesstime = 7;
$proxy = 'pr.oxylabs.io:7777';
$query = curl_init('https://ip.oxylabs.io/location');
curl_setopt($query, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($query, CURLOPT_PROXY, "http://$proxy");
curl_setopt($query, CURLOPT_PROXYUSERPWD, "customer-$username-cc-$country-sessid-$session-sesstime-$sesstime:$password");
$output = curl_exec($query);
curl_close($query);
if ($output)
    echo $output;
?>
```

{% endtab %}

{% tab title="Python" %}

```python
import urllib.request
import random
username = 'USERNAME'
password = 'PASSWORD'
country = 'DE'
session = random.random()
sesstime = 7
entry = ('http://customer-%s-cc-%s-sessid-%s-sesstime-%d:%s@pr.oxylabs.io:7777' %
    (username, country, city, session, sesstime, password))
query = urllib.request.ProxyHandler({
    'http': entry,
    'https': entry,
})
execute = urllib.request.build_opener(query)
print(execute.open('https://ip.oxylabs.io/location').read())
```

{% endtab %}

{% tab title="Java" %}

```java
package example;

import java.io.*;
import java.util.Random;
import org.apache.http.HttpHost;
import org.apache.http.auth.*;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.fluent.Request;
import org.apache.http.client.methods.*;
import org.apache.http.impl.client.*;
import org.apache.http.impl.conn.BasicHttpClientConnectionManager;
import org.apache.http.util.EntityUtils;

class Client {
    public static final String username = "USERNAME";
    public static final String password = "PASSWORD";
    public String session_id = Integer.toString(new Random().nextInt(Integer.MAX_VALUE));
    public String sesstime = "7";
    public CloseableHttpClient client;

    public Client(String country) {
        String login = "customer-"+username+(country_iso != null ? "-cc-"+country_iso : "")+"-sessid-"+session_id+"-sesstime-" +sesstime;
        HttpHost entry_node = new HttpHost("pr.oxylabs.io:7777");
        CredentialsProvider credentials_provider = new BasicCredentialsProvider();
        credentials_provider.setCredentials(new AuthScope(entry_node),
            new UsernamePasswordCredentials(login, password));
        client = HttpClients.custom()
            .setConnectionManager(new BasicHttpClientConnectionManager())
            .setProxy(entry_node)
            .setDefaultCredentialsProvider(credentials_provider)
            .build();
    }

    public String request(String url) throws IOException {
        HttpGet request = new HttpGet(url);
        CloseableHttpResponse response = client.execute(request);
        try {
            return EntityUtils.toString(response.getEntity());
        } finally { response.close(); }
    }

    public void close() throws IOException { client.close(); }
}

public class Example {
    public static void main(String[] args) throws IOException {
        Client client = new Client("de");
        try {
            System.out.println(client.request("https://ip.oxylabs.io/location"));
        } finally { client.close(); }
    }
}
```

{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Net;

class Client : WebClient
{
    public static string username = "USERNAME";
    public static string password = "PASSWORD";
    public string session_id = new Random().Next().ToString();

    public Client(string country_iso = null)
    {
        this.Proxy = new WebProxy("pr.oxylabs.io:7777");
        var login = "customer-"+username+(country_iso != null ? "-cc-"+country_iso : "")
            +"-sessid-"+session_id;
        this.Proxy.Credentials = new NetworkCredential(login, password);
    }

    protected override WebRequest GetWebRequest(Uri address)
    {
        var request = base.GetWebRequest(address) as HttpWebRequest;
        request.ConnectionGroupName = session_id;
        return request;
    }
}

class Example
{
    static void Main()
    {
        var client = new Client("de");
        Console.WriteLine(client.DownloadString("https://ip.oxylabs.io/location"));
    }
}
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'uri'
require 'net/http'
require 'net/https'

entry_node = 'pr.oxylabs.io'
entry_port = '7777'
username = 'USERNAME'
password = 'PASSWORD'
session_id = Random.rand(1000000)
sesstime = 7

uri = URI.parse("https://ip.oxylabs.io/location")
headers = {
    'Accept-Encoding' => 'gzip'
}

proxy = Net::HTTP::Proxy(entry_node, entry_port, "#{username}-cc-DE-sessid-#{session_id}-sesstime-#{sesstime}", password)
http = proxy.new(uri.host,uri.port)

if uri.scheme == 'https'
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
end

req = Net::HTTP::Get.new(uri.path, headers)

result = http.start do |con|
    con.request(req)
end

puts result.body
```

{% endtab %}
{% endtabs %}

## Vinculação de sessão a IP único (`sessid_oneip`)

Use `sessid_oneip` em vez de `sessid` quando seu fluxo de trabalho exigir consistência rigorosa de IP e não puder tolerar rotação de IP no meio da sessão.&#x20;

Ao contrário das sessões sticky padrão, se o nó de saída atribuído ficar offline, o sistema não fará a rotação para um novo IP e, em vez disso, a requisição falhará com um HTTP `502 Bad Gateway` erro. Quando um `502` ocorrer, inicie uma nova sessão usando uma nova `sessid_oneip` string. `sessid_oneip` pode ser combinado com `sesstime` da mesma forma que `sessid`.

```
customer-USERNAME-cc-DE-sessid_oneip-qwert-sesstime-10:PASSWORD
```

#### Exemplos de código

{% tabs %}
{% tab title="cURL" %}

```shell
curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-cc-DE-sessid_oneip-abcd1234:PASSWORD" https://ip.oxylabs.io/location
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$username = 'USERNAME';
$password = 'PASSWORD';
$country = 'DE';
$session = mt_rand();
$proxy = 'pr.oxylabs.io:7777';
$query = curl_init('https://ip.oxylabs.io/location');
curl_setopt($query, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($query, CURLOPT_PROXY, "http://$proxy");
curl_setopt($query, CURLOPT_PROXYUSERPWD, "customer-$username-cc-$country-sessid_oneip-$session:$password");
$output = curl_exec($query);
curl_close($query);
if ($output)
    echo $output;
?>
```

{% endtab %}

{% tab title="Python" %}

```python
import urllib.request
import random
username = 'USERNAME'
password = 'PASSWORD'
country = 'DE'
session = random.random()
entry = ('http://customer-%s-cc-%s-sessid_oneip-%s:%s@pr.oxylabs.io:7777' %
    (username, country, session, password))
query = urllib.request.ProxyHandler({
    'http': entry,
    'https': entry,
})
execute = urllib.request.build_opener(query)
print(execute.open('https://ip.oxylabs.io/location').read())
```

{% endtab %}

{% tab title="Java" %}

```java
package example;

import java.io.*;
import java.util.Random;
import org.apache.http.HttpHost;
import org.apache.http.auth.*;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.fluent.Request;
import org.apache.http.client.methods.*;
import org.apache.http.impl.client.*;
import org.apache.http.impl.conn.BasicHttpClientConnectionManager;
import org.apache.http.util.EntityUtils;

class Client {
    public static final String username = "USERNAME";
    public static final String password = "PASSWORD";
    public String session_id = Integer.toString(new Random().nextInt(Integer.MAX_VALUE));
    public CloseableHttpClient client;

    public Client(String country) {
        String login = "customer-"+username+(country!=null ? "-cc-"+country : "")
            +"-sessid_oneip-" + session_id;
        HttpHost entry_node = new HttpHost("pr.oxylabs.io:7777");
        CredentialsProvider credentials_provider = new BasicCredentialsProvider();
        credentials_provider.setCredentials(new AuthScope(entry_node),
            new UsernamePasswordCredentials(login, password));
        client = HttpClients.custom()
            .setConnectionManager(new BasicHttpClientConnectionManager())
            .setProxy(entry_node)
            .setDefaultCredentialsProvider(credentials_provider)
            .build();
    }

    public String request(String url) throws IOException {
        HttpGet request = new HttpGet(url);
        CloseableHttpResponse response = client.execute(request);
        try {
            return EntityUtils.toString(response.getEntity());
        } finally { response.close(); }
    }

    public void close() throws IOException { client.close(); }
}

public class Example {
    public static void main(String[] args) throws IOException {
        Client client = new Client("de");
        try {
            System.out.println(client.request("https://ip.oxylabs.io/location"));
        } finally { client.close(); }
    }
}
```

{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Net;

class Client : WebClient
{
    public static string username = "USERNAME";
    public static string password = "PASSWORD";
    public string session_id = new Random().Next().ToString();

    public Client(string country_iso = null)
    {
        this.Proxy = new WebProxy("pr.oxylabs.io:7777");
        var login = "customer-"+username+(country_iso != null ? "-cc-"+country_iso : "")
            +"-sessid_oneip-"+session_id;
        this.Proxy.Credentials = new NetworkCredential(login, password);
    }

    protected override WebRequest GetWebRequest(Uri address)
    {
        var request = base.GetWebRequest(address) as HttpWebRequest;
        request.ConnectionGroupName = session_id;
        return request;
    }
}

class Example
{
    static void Main()
    {
        var client = new Client("de");
        Console.WriteLine(client.DownloadString("https://ip.oxylabs.io/location"));
    }
}
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'uri'
require 'net/http'
require 'net/https'

entry_node = 'pr.oxylabs.io'
entry_port = '7777'
username = 'USERNAME'
password = 'PASSWORD'
session_id = Random.rand(1000000)

uri = URI.parse("https://ip.oxylabs.io/location")
headers = {
    'Accept-Encoding' => 'gzip'
}

proxy = Net::HTTP::Proxy(entry_node, entry_port, "#{username}-cc-DE-sessid_oneip-#{session_id}", password)
http = proxy.new(uri.host,uri.port)

if uri.scheme == 'https'
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
end

req = Net::HTTP::Get.new(uri.path, headers)

result = http.start do |con|
    con.request(req)
end

puts result.body
```

{% endtab %}
{% endtabs %}

## Nós de entrada sticky do proxy (intervalo de portas)

Conecte-se a pontos de entrada específicos por país em intervalos de portas dedicados (`10001–49999`) para manter um endereço IP por até 10 minutos sem passar `sessid` parâmetros na sua string de nome de usuário. Reutilizar a mesma porta mantém o mesmo nó de saída, enquanto alterar a porta atribui um novo IP sticky.

{% hint style="info" %}
As portas sticky de entrada específicas por país suportam autenticação padrão com nome de usuário/senha e whitelist de IP, mas não suportam parâmetros de cidade ou estado.&#x20;
{% endhint %}

Veja o [**painel Oxylabs**](https://dashboard.oxylabs.io/en/) para informações sobre o ponto de entrada, baixe uma lista completa de pontos de entrada sticky ou veja-os na tabela abaixo.

{% file src="/files/3d4e737a794e03e9e3bf8f99c17f0d62b3848430" %}

<details>

<summary><strong>Lista completa de nós de entrada sticky do proxy</strong></summary>

{% hint style="success" %}
Sinta-se à vontade para usar a barra de busca da tabela abaixo para facilitar a navegação.
{% endhint %}

| <p>Aleatório<br>pr.oxylabs.io:10000 - 49999</p>                    | <p>EUA<br>us-pr.oxylabs.io:10001 - 19999</p>                  | <p>Canadá<br>ca-pr.oxylabs.io:30001 - 39999</p>                   |
| ------------------------------------------------------------------ | ------------------------------------------------------------- | ----------------------------------------------------------------- |
| <p>Grã-Bretanha<br>gb-pr.oxylabs.io:20001 - 29999</p>              | <p>Alemanha<br>de-pr.oxylabs.io:30001 - 39999</p>             | <p>França<br>fr-pr.oxylabs.io:40001 - 49999</p>                   |
| <p>Espanha<br>es-pr.oxylabs.io:10001 - 19999</p>                   | <p>Itália<br>it-pr.oxylabs.io:20001 - 29999</p>               | <p>Suécia<br>se-pr.oxylabs.io:30001 - 39999</p>                   |
| <p>Grécia<br>gr-pr.oxylabs.io:40001 - 49999</p>                    | <p>Portugal<br>pt-pr.oxylabs.io:10001 - 19999</p>             | <p>Países Baixos<br>nl-pr.oxylabs.io:20001 - 29999</p>            |
| <p>Bélgica<br>be-pr.oxylabs.io:30001 - 39999</p>                   | <p>Rússia<br>ru-pr.oxylabs.io:40001 - 49999</p>               | <p>Ucrânia<br>ua-pr.oxylabs.io:10001 - 19999</p>                  |
| <p>Polônia<br>pl-pr.oxylabs.io:20001 - 29999</p>                   | <p>Israel<br>il-pr.oxylabs.io:20001 - 29999</p>               | <p>Turquia<br>tr-pr.oxylabs.io:30001 - 39999</p>                  |
| <p>Austrália<br>au-pr.oxylabs.io:40001 - 49999</p>                 | <p>Malásia<br>my-pr.oxylabs.io:10001 - 19999</p>              | <p>Tailândia<br>th-pr.oxylabs.io:20001 - 29999</p>                |
| <p>Coreia do Sul<br>kr-pr.oxylabs.io:30001 - 39999</p>             | <p>Japão<br>jp-pr.oxylabs.io:40001 - 49999</p>                | <p>Filipinas<br>ph-pr.oxylabs.io:10001 - 19999</p>                |
| <p>Singapura<br>sg-pr.oxylabs.io:20001 - 29999</p>                 | <p>China<br>cn-pr.oxylabs.io:30001 - 39999</p>                | <p>Hong Kong<br>hk-pr.oxylabs.io:40001 - 49999</p>                |
| <p>Taiwan<br>tw-pr.oxylabs.io:10001 - 19999</p>                    | <p>Índia<br>in-pr.oxylabs.io:20001 - 29999</p>                | <p>Paquistão<br>pk-pr.oxylabs.io:30001 - 39999</p>                |
| <p>Irã<br>ir-pr.oxylabs.io:40001 - 49999</p>                       | <p>Indonésia<br>id-pr.oxylabs.io:10001 - 19999</p>            | <p>Azerbaijão<br>az-pr.oxylabs.io:20001 - 29999</p>               |
| <p>Cazaquistão<br>kz-pr.oxylabs.io:30001 - 39999</p>               | <p>EAU<br>ae-pr.oxylabs.io:40001 - 49999</p>                  | <p>México<br>mx-pr.oxylabs.io:10001 - 19999</p>                   |
| <p>Brasil<br>br-pr.oxylabs.io:20001 - 29999</p>                    | <p>Argentina<br>ar-pr.oxylabs.io:30001 - 39999</p>            | <p>Chile<br>cl-pr.oxylabs.io:40001 - 49999</p>                    |
| <p>Peru<br>pe-pr.oxylabs.io:10001 - 19999</p>                      | <p>Equador<br>ec-pr.oxylabs.io:20001 - 29999</p>              | <p>Colômbia<br>co-pr.oxylabs.io:30001 - 39999</p>                 |
| <p>África do Sul<br>za-pr.oxylabs.io:40001 - 49999</p>             | <p>Egito<br>eg-pr.oxylabs.io:10001 - 19999</p>                | <p>Arábia Saudita<br>sa-pr.oxylabs.io:44001 - 44999</p>           |
| <p>Dinamarca<br>dk-pr.oxylabs.io:19001 - 19999</p>                 | <p>Mali<br>ml-pr.oxylabs.io:13001 - 13999</p>                 | <p>Chipre<br>cy-pr.oxylabs.io:35001 - 35999</p>                   |
| <p>Honduras<br>hn-pr.oxylabs.io:48001 - 48999</p>                  | <p>Geórgia<br>ge-pr.oxylabs.io:36001 - 36999</p>              | <p>Sérvia<br>rs-pr.oxylabs.io:36001 - 36999</p>                   |
| <p>Costa Rica<br>cr-pr.oxylabs.io:44001 - 44999</p>                | <p>Malta<br>mt-pr.oxylabs.io:30001 - 30999</p>                | <p>Haiti<br>ht-pr.oxylabs.io:47001 - 47999</p>                    |
| <p>Senegal<br>sn-pr.oxylabs.io:19001 - 19999</p>                   | <p>Eslovênia<br>si-pr.oxylabs.io:38001 - 38999</p>            | <p>Camarões<br>cm-pr.oxylabs.io:41001 - 41999</p>                 |
| <p>Djibuti<br>dj-pr.oxylabs.io:46001 - 46999</p>                   | <p>Angola<br>ao-pr.oxylabs.io:40001 - 40999</p>               | <p>Libéria<br>lr-pr.oxylabs.io:11001 - 11999</p>                  |
| <p>Afeganistão<br>af-pr.oxylabs.io:28001 - 28999</p>               | <p>Bangladesh<br>bd-pr.oxylabs.io:30001 - 30999</p>           | <p>Bahamas<br>bs-pr.oxylabs.io:41001 - 41999</p>                  |
| <p>Hungria<br>hu-pr.oxylabs.io:23001 - 23999</p>                   | <p>Eslováquia<br>sk-pr.oxylabs.io:37001 - 37999</p>           | <p>Dominica<br>dm-pr.oxylabs.io:46001 - 46999</p>                 |
| <p>Quênia<br>ke-pr.oxylabs.io:10001 - 10999</p>                    | <p>Bósnia e Herzegovina<br>ba-pr.oxylabs.io:13001 - 13999</p> | <p>Nigéria<br>ng-pr.oxylabs.io:18001 - 18999</p>                  |
| <p>Catar<br>qa-pr.oxylabs.io:43001 - 43999</p>                     | <p>Iêmen<br>ye-pr.oxylabs.io:48001 - 48999</p>                | <p>Belize<br>bz-pr.oxylabs.io:42001 - 42999</p>                   |
| <p>Chade<br>td-pr.oxylabs.io:43001 - 43999</p>                     | <p>Tunísia<br>tn-pr.oxylabs.io:25001 - 25999</p>              | <p>Zimbábue<br>zw-pr.oxylabs.io:21001 - 21999</p>                 |
| <p>Zâmbia<br>zm-pr.oxylabs.io:27001 - 27999</p>                    | <p>Bahrein<br>bh-pr.oxylabs.io:29001 - 29999</p>              | <p>Áustria<br>at-pr.oxylabs.io:11001 - 11999</p>                  |
| <p>Irlanda<br>ie-pr.oxylabs.io:25001 - 25999</p>                   | <p>Noruega<br>no-pr.oxylabs.io:34001 - 34999</p>              | <p>Etiópia<br>et-pr.oxylabs.io:45001 - 45999</p>                  |
| <p>Costa do Marfim<br>ci-pr.oxylabs.io:49001 - 49999</p>           | <p>Fiji<br>fj-pr.oxylabs.io:14001 - 14999</p>                 | <p>Sudão do Sul<br>ss-pr.oxylabs.io:22001 - 22999</p>             |
| <p>Jamaica<br>jm-pr.oxylabs.io:49001 - 49999</p>                   | <p>Belarus<br>by-pr.oxylabs.io:15001 - 15999</p>              | <p>Finlândia<br>fi-pr.oxylabs.io:21001 - 21999</p>                |
| <p>Mônaco<br>mc-pr.oxylabs.io:31001 - 31999</p>                    | <p>Nova Zelândia<br>nz-pr.oxylabs.io:15001 - 15999</p>        | <p>Turcomenistão<br>tm-pr.oxylabs.io:46001 - 46999</p>            |
| <p>Armênia<br>am-pr.oxylabs.io:31001 - 31999</p>                   | <p>Islândia<br>is-pr.oxylabs.io:24001 - 24999</p>             | <p>Mauritânia<br>mr-pr.oxylabs.io:14001 - 14999</p>               |
| <p>República Tcheca<br>cz-pr.oxylabs.io:18001 - 18999</p>          | <p>Venezuela<br>ve-pr.oxylabs.io:19001 - 19999</p>            | <p>Líbano<br>lb-pr.oxylabs.io:39001 - 39999</p>                   |
| <p>Mongólia<br>mn-pr.oxylabs.io:41001 - 41999</p>                  | <p>Benim<br>bj-pr.oxylabs.io:44001 - 44999</p>                | <p>Sudão<br>sd-pr.oxylabs.io:23001 - 23999</p>                    |
| <p>Jordânia<br>jo-pr.oxylabs.io:38001 - 38999</p>                  | <p>Estônia<br>ee-pr.oxylabs.io:20001 - 20999</p>              | <p>Paraguai<br>py-pr.oxylabs.io:17001 - 17999</p>                 |
| <p>República Centro-Africana<br>cf-pr.oxylabs.io:42001 - 42999</p> | <p>Camboja<br>kh-pr.oxylabs.io:34001 - 34999</p>              | <p>Panamá<br>pa-pr.oxylabs.io:10001 - 10999</p>                   |
| <p>Uruguai<br>uy-pr.oxylabs.io:18001 - 18999</p>                   | <p>Gana<br>gh-pr.oxylabs.io:48001 - 48999</p>                 | <p>Uzbequistão<br>uz-pr.oxylabs.io:47001 - 47999</p>              |
| <p>Albânia<br>al-pr.oxylabs.io:49001 - 49999</p>                   | <p>Marrocos<br>ma-pr.oxylabs.io:16001 - 16999</p>             | <p>Butão<br>bt-pr.oxylabs.io:32001 - 32999</p>                    |
| <p>Maurício<br>mu-pr.oxylabs.io:15001 - 15999</p>                  | <p>Letônia<br>lv-pr.oxylabs.io:26001 - 26999</p>              | <p>Madagascar<br>mg-pr.oxylabs.io:12001 - 12999</p>               |
| <p>Lituânia<br>lt-pr.oxylabs.io:28001 - 28999</p>                  | <p>Moldávia<br>md-pr.oxylabs.io:32001 - 32999</p>             | <p>Montenegro<br>me-pr.oxylabs.io:33001 - 33999</p>               |
| <p>Romênia<br>ro-pr.oxylabs.io:35001 - 35999</p>                   | <p>Iraque<br>iq-pr.oxylabs.io:37001 - 37999</p>               | <p>Gâmbia<br>gm-pr.oxylabs.io:47001 - 47999</p>                   |
| <p>Moçambique<br>mz-pr.oxylabs.io:17001 - 17999</p>                | <p>Croácia<br>hr-pr.oxylabs.io:16001 - 16999</p>              | <p>Porto Rico<br>pr-pr.oxylabs.io:12001 - 12999</p>               |
| <p>Cuba<br>cu-pr.oxylabs.io:45001 - 45999</p>                      | <p>Aruba<br>aw-pr.oxylabs.io:10001 - 10999</p>                | <p>Seychelles<br>sc-pr.oxylabs.io:20001 - 20999</p>               |
| <p>Macedônia<br>mk-pr.oxylabs.io:40001 - 40999</p>                 | <p>Maldivas<br>mv-pr.oxylabs.io:40001 - 40999</p>             | <p>Omã<br>om-pr.oxylabs.io:42001 - 42999</p>                      |
| <p>Liechtenstein<br>li-pr.oxylabs.io:27001 - 27999</p>             | <p>Suíça<br>ch-pr.oxylabs.io:39001 - 39999</p>                | <p>Bolívia<br>bo-pr.oxylabs.io:16001 - 16999</p>                  |
| <p>Uganda<br>ug-pr.oxylabs.io:26001 - 26999</p>                    | <p>Bulgária<br>bg-pr.oxylabs.io:14001 - 14999</p>             | <p>Myanmar<br>mm-pr.oxylabs.io:33001 - 33999</p>                  |
| <p>Andorra<br>ad-pr.oxylabs.io:10001 - 10999</p>                   | <p>Togo<br>tg-pr.oxylabs.io:24001 - 24999</p>                 | <p>Ilhas Virgens Britânicas<br>vg-pr.oxylabs.io:43001 - 43999</p> |
| <p>Trinidad e Tobago<br>tt-pr.oxylabs.io:13001 - 13999</p>         | <p>Luxemburgo<br>lu-pr.oxylabs.io:29001 - 29999</p>           | <p>​União Europeia</p><p>eu-pr.oxylabs.io:10001 - 29999</p>       |

</details>

#### Exemplos de código

{% tabs %}
{% tab title="cURL" %}

```shell
curl -x tr-pr.oxylabs.io:30001 -U "customer-USERNAME:PASSWORD" https://ip.oxylabs.io/location
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$username = 'USERNAME';
$password = 'PASSWORD';
$proxy = 'tr-pr.oxylabs.io:30001';
$query = curl_init('https://ip.oxylabs.io/location');
curl_setopt($query, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($query, CURLOPT_PROXY, "http://$proxy");
curl_setopt($query, CURLOPT_PROXYUSERPWD, "customer-$username:$password");
$output = curl_exec($query);
curl_close($query);
if ($output)
    echo $output;
?>
```

{% endtab %}

{% tab title="Python" %}

```python
import urllib.request
import random
username = 'USERNAME'
password = 'PASSWORD'
entry = ('http://customer-%s:%s@tr-pr.oxylabs.io:30001' %
    (username, password))
query = urllib.request.ProxyHandler({
    'http': entry,
    'https': entry,
})
execute = urllib.request.build_opener(query)
print(execute.open('https://ip.oxylabs.io/location').read())
```

{% endtab %}

{% tab title="Java" %}

```java
package example;

import org.apache.http.HttpHost;
import org.apache.http.client.fluent.*;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpHost entry = new HttpHost("tr-pr.oxylabs.io", 30001);
        String query = Executor.newInstance()
            .auth(entry, "customer-USERNAME", "PASS")
            .execute(Request.Get("http://ip.oxylabs.io/location").viaProxy(entry))
            .returnContent().asString();
        System.out.println(query);
    }
}
```

{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System;
using System.Net;

class Example
{
    static void Main()
    {
        var client = new WebClient();
        client.Proxy = new WebProxy("tr-pr.oxylabs.io:30001");
        client.Proxy.Credentials = new NetworkCredential("customer-USERNAME", "PASSWORD");
        Console.WriteLine(client.DownloadString("https://ip.oxylabs.io/location"));
    }
}
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'uri'
require 'net/http'

uri = URI.parse('https://ip.oxylabs.io/location')
proxy = Net::HTTP::Proxy('tr-pr.oxylabs.io', 30001, 'customer-USERNAME', 'PASSWORD')

req = Net::HTTP::Get.new(uri.path)

result = proxy.start(uri.host,uri.port) do |http|
    http.request(req)
end

puts result.body
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developers.oxylabs.io/products/pt-br/proxies/residential-proxies/session-control.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
