# Realización de solicitudes

## Consulta básica

La consulta básica solo requiere pasar `username` y `password`. No se necesitan otros parámetros. Una consulta así hará 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` se realiza 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 le permite elegir un proxy de país específico mediante parámetros adicionales en el nombre de usuario. Este enfoque también admite el control de sesión. A continuación se muestra un ejemplo de la estructura de credenciales:

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

#### Parámetros de consulta

| Parámetro                                                 | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <mark style="background-color:green;">**customer**</mark> | Nombre de usuario                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `cc`                                                      | Código de país no sensible a mayúsculas/minú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í**](/products/es/proxies/mobile-proxies/location-settings/country.md#country-specific-entry-nodes).                                                                                                                  |
| `city`                                                    | Nombre de ciudad en inglés no sensible a mayúsculas/minú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 con `_`, por ejemplo, `city-st_petersburg` o `city-rio_de_janeiro`. Haz clic [**aquí**](/products/es/proxies/mobile-proxies/location-settings/select-city.md) para obtener más información sobre la segmentación a nivel de ciudad. |
| `st`                                                      | Nombre de estado de EE. UU. no sensible a mayúsculas/minúsculas con us\_ al principio, por ejemplo, `us_california`, `us_illinois`. [**Haz clic aquí**](/products/es/proxies/mobile-proxies/location-settings/select-state.md) para obtener más información sobre la segmentación a nivel de estado.                                                                                                                                                                                                                                     |
| `sessid`                                                  | ID de sesión para mantener la misma IP en las próximas consultas. 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 admiten cadenas aleatorias y caracteres 0-9 y A-Z.                                                                                                                                                                                                                                                                                                             |
| `sesstime`                                                | El parámetro de tiempo de sesión mantiene la misma IP durante un período determinado. El tiempo máximo de sesión es de 30 minutos.                                                                                                                                                                                                                                                                                                                                                                                                       |
| <mark style="background-color:green;">**password**</mark> | Contraseña                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

&#x20;     \- Parámetro obligatorio


---

# Agent Instructions: 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:

```
GET https://developers.oxylabs.io/products/es/proxies/mobile-proxies/making-requests.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
