# Datacenter Proxies

## Credenciales de usuario

Para comenzar a usar los Datacenter Proxies de Oxylabs, primero debes ir a [**panel de Oxylabs**](https://dashboard.oxylabs.io/en/) y comprar un plan que se ajuste a tus necesidades.

Después de eso, se te guiará para crear tu usuario de proxy. Las credenciales del usuario de proxy son tu acceso a los Datacenter Proxies.

<figure><img src="https://338917265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FNaX9xKywJ3p1CtLBv7io%2Fdc_user.png?alt=media&#x26;token=1a6453e9-e83a-49a7-a89d-f07bd38b36c9" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
**Almacena tus credenciales de forma segura**. La contraseña es visible temporalmente, pero puedes cambiarla fácilmente más tarde en el panel.
{% endhint %}

## Realizar solicitudes

Una vez que crees un usuario de proxy, aparecerá una ventana emergente que mostrará tu primera solicitud cURL para probar los Datacenter Proxies. Ejecutar el código seleccionará una IP de proxy aleatoria, hará una solicitud HTTP y mostrará la IP en la salida.

Copia el código a continuación en tu lenguaje preferido y cambia el `USERNAME` y `PASSWORD` parámetros por tus credenciales de proxy:&#x20;

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

```sh
curl -x dc.oxylabs.io:8000 -U "user-USERNAME:PASSWORD" https://ip.oxylabs.io/location 
```

{% endtab %}

{% tab title="Python" %}

```python
#pip install requests
import requests

username = 'USERNAME'
password = 'PASSWORD'
proxy = 'dc.oxylabs.io:8000'

proxies = {
   "https": ('https://user-%s:%s@%s' % (username, password, proxy))
}

response=requests.get("https://ip.oxylabs.io/location", proxies=proxies)

print(response.content)
```

{% endtab %}

{% tab title="Node.js" %}

<pre class="language-javascript"><code class="lang-javascript"><strong>//npm install axios
</strong><strong>const axios = require("axios");
</strong>const https = require("https");

const client = axios.create({
    httpsAgent: new https.Agent({
        rejectUnauthorized: false,
    }),
});
const username = 'USERNAME';
const password = 'PASSWORD'

client
    .get("https://ip.oxylabs.io/location", {
        proxy: {
            protocol: "https",
            host: "dc.oxylabs.io",
            port: 8000,
            auth: {
                username: `user-${username}`,
                password: password,
            },
        },
    })
    .then((res) => {
        console.log(res.data);
    })
    .catch((err) => console.error(err));

</code></pre>

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$username = 'USERNAME';
$password = 'PASSWORD';
$proxy = 'dc.oxylabs.io:8000';
$target = 'https://ip.oxylabs.io/location';

$request = curl_init($target);
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($request, CURLOPT_PROXY, $proxy);
curl_setopt($request, CURLOPT_PROXYUSERPWD, "user-$username:$password");
$responseBody = curl_exec($request);
$error = curl_error($request);
curl_close($request);

if ($responseBody !== false) {
    echo 'Response: ' . $responseBody;
} else {
    echo 'Failed to connect to proxy: ' . $error;
}
```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	username, password, entry := "USERNAME", "PASSWORD", "dc.oxylabs.io:8000"
	proxy, err := url.Parse(fmt.Sprintf("https://user-%s:%s@%s", username, password, entry))
	if err != nil {
		panic(err)
	}

	transport := &http.Transport{
		Proxy: http.ProxyURL(proxy),
	}
	client := &http.Client{Transport: transport}
	target := "https://ip.oxylabs.io/location"
	response, err := client.Get(target)
	if err != nil {
		panic(err)
	}
	defer response.Body.Close()

	body, err := io.ReadAll(response.Body)
	if err != nil {
		panic(err)
	}

	fmt.Println("Response:")
	fmt.Println(string(body))
}
```

{% endtab %}

{% tab title="Java" %}

```java
package com.example;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Base64;

import org.apache.hc.client5.http.fluent.Request;
import org.apache.hc.core5.http.HttpHost;

public class App {
    public static void main(String[] args) throws IOException, URISyntaxException {
        String target = "http://ip.oxylabs.io/location";
        String username = "USERNAME";
        String password = "PASSWORD";
        String proxy = "dc.oxylabs.io:8000";

        URI proxyURI = new URI(String.format("https://user-%s:%s@%s", username, password, proxy));

        String basicAuth = new String(
                Base64.getEncoder()
                        .encode(
                                proxyURI.getUserInfo().getBytes()));
        String response = Request.get(target)
                .addHeader("Proxy-Authorization", "Basic " + basicAuth)
                .viaProxy(HttpHost.create(proxyURI))
                .execute().returnContent().asString();

        System.out.println(response);
    }
}

```

{% endtab %}

{% tab title="C#" %}

```csharp
using System.Net;

// .NET currently does not support HTTPS proxies
var proxy = new WebProxy {
    Address = new Uri("dc.oxylabs.io:8000"),
    Credentials = new NetworkCredential(
        userName: "user-USERNAME",
        password: "PASSWORD"
    )
};

var httpClientHandler = new HttpClientHandler {Proxy = proxy};

using var client = new HttpClient(handler: httpClientHandler, disposeHandler: true);

var result = await client.GetStringAsync("https://ip.oxylabs.io/location");
Console.WriteLine(result);
```

{% endtab %}
{% endtabs %}

Para obtener **un proxy específico** al realizar solicitudes, consulta [**Control de IP**](https://developers.oxylabs.io/documentation/es/proxies/datacenter-proxies/ip-control) página.

{% hint style="info" %}
Usa [**ip.oxylabs.io/location**](https://ip.oxylabs.io/location) para verificar los parámetros de tus IP: este dominio entrega información de cuatro bases de datos de geolocalización: MaxMind, IP2Location, DB-IP y IPinfo.io. Los parámetros incluyen dirección IP, proveedor, país, ciudad, código postal, ASN, nombre de la organización, zona horaria y meta (cuando la base de datos lo revela).
{% endhint %}
