> 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

## Configurar uma sessão padrão

O `sessid` o parâmetro permite rotear várias solicitações pelo mesmo endereço IP. Adicione `sessid` após o seu `nome de usuário` com uma string alfanumérica gerada aleatoriamente, por exemplo `sessid-abcd1234`.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FxR5NdybM3rjlbhAbPBZN%2Fsession-id.mp4?alt=media>" %}

Por exemplo, uma solicitação inicial usando `sessid-abcd1234` pode receber o IP `1.1.1.1`. Desde que você continue enviando solicitações com o mesmo ID de sessão e esse IP permaneça online, suas consultas continuam sendo roteadas por `1.1.1.1`. Se você pausar por 60 segundos ou o IP ficar offline, o sistema atribui um novo, então sua próxima solicitação com `sessid-abcd1234` é roteada por um IP diferente, como `1.1.1.2`.

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

### **Exemplo de lista de credenciais:**

O exemplo representa uma lista de credenciais que estabelecem sessões diferentes.

```
customer-USERNAME-cc-DE-sessid-qwert:PASSWORD
customer-USERNAME-cc-US-sessid-asdfg:PASSWORD
customer-USERNAME-cc-GB-sessid-zxcvb:PASSWORD
```

### Exemplo de código

Neste exemplo, estamos usando um IP alemão com `sessid-abcd1234` no nome de usuário na primeira solicitação. Todas as solicitações seguintes manterão o mesmo IP alemão nas consultas posteriores:

{% 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

O parâmetro sesstime é usado junto com sessid para manter uma sessão ativa por mais tempo do que os 10 minutos padrão ou até 60 segundos de inatividade (sem solicitações).

{% hint style="success" %}
**Aviso:** Você pode usar o `sesstime` parâmetro para **manter o mesmo IP por até 1440 minutos** (24 horas). No entanto, como o pool de proxies residenciais é dinâmico, sua conexão pode terminar antes. Se isso acontecer, inicie uma sessão com um novo parâmetro de sessão.
{% endhint %}

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

### **Exemplo de lista de credenciais:**

O exemplo representa uma lista de credenciais que estabelecem diferentes sessões com diferentes tempos de sessão (minutos).

```
customer-USERNAME-cc-DE-sessid-qwert-sesstime-10:PASSWORD
customer-USERNAME-cc-US-sessid-asdfg-sesstime-20:PASSWORD
customer-USERNAME-cc-GB-sessid-zxcvb-sesstime-30:PASSWORD
```

### Exemplo 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 %}

## Controlar a rotação de IP da sessão

O `sessid_oneip` parâmetro é uma alternativa a `sessid` para casos em que você precisa manter exatamente o mesmo IP durante toda a sessão.

Com um `sessid`regular, se o nó de saída atribuído ficar offline antes de o tempo da sessão expirar, o sistema atribui automaticamente um novo IP e sua sessão continua. Com `sessid_oneip`sessid\_oneip, a sessão fica vinculada a um único nó de saída: quando esse IP não estiver mais disponível, em vez de fazer rotação para um novo, a solicitação falha com uma resposta HTTP `502` . Nesse ponto, inicie uma nova sessão com um `sessid_oneip` novo valor. `sessid_oneip` pode ser combinado com `sesstime` da mesma forma que sessid.

{% hint style="info" %}
**Observação:** `sessid_oneip` é uma alternativa opcional a `sessid`. O `sessid` comportamento padrão (rotação automática para um novo IP quando o nó de saída expira) não muda.
{% endhint %}

### Exemplo de lista de credenciais:

As credenciais a seguir estabelecem, cada uma, uma sessão separada de IP único, com um país e um tempo de sessão diferentes:

```
customer-USERNAME-cc-DE-sessid_oneip-qwert-sesstime-10:PASSWORD
customer-USERNAME-cc-US-sessid_oneip-asdfg-sesstime-20:PASSWORD
customer-USERNAME-cc-GB-sessid_oneip-zxcvb-sesstime-30:PASSWORD
```

### Exemplo de código

Este exemplo usa um IP alemão (`DE`) com `sessid_oneip-qwert` e um `sesstime` de 10 minutos. O IP permanece fixo durante a sessão; se ele ficar indisponível, a solicitação retorna HTTP `502` em vez de fazer rotação:

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

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

{% endtab %}
{% endtabs %}

Para usar outro idioma, pegue qualquer `sessid` exemplo das seções acima e substitua `sessid` com `sessid_oneip` na string de login.

## Nós de entrada de proxy persistentes

O ponto de entrada de proxy persistente específico do país retornará o mesmo IP a cada nova solicitação enquanto você usar a mesma porta. A persistência do IP funciona por até 10 minutos. Depois disso, o IP é substituído por um novo.

Você não precisa passar nenhum parâmetro adicional, apenas `customer-username:password`. Se você tiver IPs na lista de permissões, não precisa passar credenciais de login. Portas específicas por país não suportam resultados em nível de cidade.

Consulte o [**dashboard**](https://dashboard.oxylabs.io/en/) para informações sobre os pontos de entrada. Baixe uma lista completa de pontos de entrada persistentes ou veja-os na tabela abaixo.

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

| <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>Bielorrússia<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>Mianmar<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>       |

### Exemplos de código

Neste exemplo, executamos uma consulta de um IP turco para `ip.oxylabs.io`. O mesmo IP permanecerá por até 10 minutos. Escolhemos a porta 30001. No entanto, os pontos de entrada sticky da Turquia cobrem as portas de 30001 a 39999.

{% 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
