# Realizar solicitudes

#### **Consulta básica**

La consulta básica solo requiere pasar `username` y `password`. No se necesitan otros parámetros. Tal consulta dará como resultado que la solicitud se realice desde una dirección IP aleatoria (proxy). Cada nueva solicitud usará un proxy diferente.

#### Ejemplos de código

En este ejemplo, se realiza una consulta a `ip.oxylabs.io/location` desde una IP aleatoria:

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

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

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$username = 'USERNAME';
$password = 'PASSWORD';
$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:$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@pr.oxylabs.io:7777' %
    (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("pr.oxylabs.io", 7777);
        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.Net;

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

{% endtab %}

{% tab title="Ruby" %}

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

uri = URI.parse('https://ip.oxylabs.io/location')
proxy = Net::HTTP::Proxy('pr.oxylabs.io', 7777, '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 %}

Un único proxy backconnect (`pr.oxylabs.io:7777)`te permite elegir un proxy específico por país o ciudad mediante parámetros adicionales en el username. Este enfoque también admite control de sesión. Aquí hay un ejemplo de credenciales:

`customer-USERNAME-cc-US-city-CITY-sessid-abcde12345:PASSWORD`

`customer-USERNAME-cc-US-city-CITY-sessid-abcde12345-sesstime-5:PASSWORD`

A continuación se muestra un desglose de la estructura:

<figure><img src="https://338917265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FVQLieFQN8pPNeUfWMjhU%2FCode%20explained%20for%20Resi%20documentation%20(upd%202024-03).png?alt=media&#x26;token=5b48bede-2e1c-4676-9ba9-37bb0cbf3fc4" alt=""><figcaption></figcaption></figure>

#### Parámetros de consulta

| Parámetro                                                   | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <mark style="background-color:green;">**`customer`**</mark> | Nombre de usuario                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `cc`                                                        | Código de país insensible a mayúsculas en formato de 2 letras [**3166-1 alpha-2**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Por ejemplo, `DE` para Alemania, `GB` para el Reino Unido, `TH` para Tailandia. Puedes encontrar más detalles sobre cómo usar proxies específicos por país [**aquí**](https://developers.oxylabs.io/documentation/es/proxies/residential-proxies/broken-reference).                                                                                                                                                |
| `city`                                                      | Nombre de ciudad en inglés insensible a mayúsculas. Este parámetro debe ir acompañado de `cc` para mayor precisión, por ejemplo, `cc-GB-city-london` para Londres, Reino Unido; `cc-DE-city-berlin` para Berlín, Alemania. Para una ciudad con más de dos palabras, reemplaza el espacio por `_`, por ejemplo, `city-st_petersburg` o `city-rio_de_janeiro`. Haz clic [**aquí**](https://developers.oxylabs.io/documentation/es/proxies/residential-proxies/location-settings/select-city) para más información sobre la segmentación a nivel de ciudad. |
| `st`                                                        | Nombre de estado de EE. UU. insensible a mayúsculas con us\_ al principio, por ejemplo, `us_california`, `us_illinois`. [**Haz clic aquí** ](https://developers.oxylabs.io/documentation/es/proxies/residential-proxies/location-settings/select-state)para más información sobre la segmentación a nivel estatal.                                                                                                                                                                                                                                       |
| `sessid`                                                    | ID de sesión para mantener la misma IP en consultas posteriores. La sesión expira en 10 minutos. Después de eso, se asigna una nueva dirección IP a ese ID de sesión. Se admite cadena aleatoria con caracteres 0-9 y A-Z.                                                                                                                                                                                                                                                                                                                               |
| `sesstime`                                                  | El parámetro sesstime mantiene la misma IP durante un cierto periodo. El tiempo máximo de sesión es de 30 minutos.                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| <mark style="background-color:green;">**`password`**</mark> | Password                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

&#x20;   \- parámetro obligatorio
