# Intro

Goproxies.com services are compatible with many software platforms and tools, from operating systems to browser add-ons. Explore our step-by-step integration guides and learn how to set up your proxies.

If you cannot find something or need help, contact us at <support@goproxies.com> or start an Intercom chat.\
\
Goproxies.com supports:

* HTTPS proxy protocol (a.k.a. HTTP proxy with CONNECT method)
* HTTP proxy protocol

Service is accessed using following entry data:

* **Host:** proxy.goproxies.com - All countries. Although we have automatic routing, you may manually target preferred regions to reduce latency: proxy-europe.goproxies.com for Europe and Africa, proxy-asia.goproxies.com for Asia and Oceania, proxy-america.goproxies.com for both Americas.
* **Port:** 1080
* **Authorisation:** Basic
* **Username/Password:** *\[provided separately]*

You can test it via any application that has HTTP(s) proxy feature (Chrome, SwitchyOmega, Profixier, Foxy Proxy, Proxy Switcher etc.) or simply a terminal command:

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

```bash
curl --proxytunnel --proxy "https://customer-USERNAME:PASSWORD@proxy.goproxies.com:1080" https://ip.goproxies.com
```

{% endtab %}

{% tab title="JavaScript" %}

```bash
npm install axios https-proxy-agent
```

```javascript
const axios = require('axios');
const { HttpsProxyAgent } = require('https-proxy-agent');

const username = 'customer-USERNAME'; // ISP/residential username
const password = 'PASSWORD';
const proxyUrl = `http://${encodeURIComponent(username)}:${encodeURIComponent(password)}@proxy.goproxies.com:1080`;
const agent = new HttpsProxyAgent(proxyUrl);

(async () => {
  try {
    const res = await axios.get('https://ip.goproxies.com', { httpsAgent: agent, timeout: 10000 });
    console.log(res.status, res.data);
  } catch (err) {
    console.error('request error:', err.message);
  }
})();import requests
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

username = "customer-USERNAME"
password = "PASSWORD"

proxy = f"https://{username}:{password}@proxy.goproxies.com:1080"

proxies = {
    "http": proxy,
    "https": proxy,
}

resp = requests.get("https://ip.goproxies.com", proxies=proxies, timeout=10)

print(resp.status_code)
print(resp.text)
```

{% endtab %}

{% tab title="Go" %}

```go
package main

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

func main() {
	proxyURL, _ := url.Parse("http://customer-USERNAME:PASSWORD@proxy.goproxies.com:1080")
	transport := &http.Transport{
		Proxy: http.ProxyURL(proxyURL),
		TLSHandshakeTimeout: 10 * time.Second,
	}
	client := &http.Client{Transport: transport, Timeout: 15 * time.Second}

	resp, err := client.Get("https://ip.goproxies.com")
	if err != nil {
		fmt.Println("request error:", err)
		return
	}
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println("status:", resp.Status)
	fmt.Println(string(body))
}
```

{% endtab %}

{% tab title="Java" %}

```java
String proxyHost = "proxy.goproxies.com";
int proxyPort = 1080;
String user = "customer-USERNAME";
String pass = "PASSWORD";

// Use CredentialsProvider + HttpHost + RequestConfig,
// setting proxyHost/proxyPort and credentials for Basic proxy auth.
// Then execute a GET to https://ip.goproxies.com
```

{% endtab %}

{% tab title="Ruby" %}

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

username = 'customer-USERNAME'
password = 'PASSWORD'

uri = URI('https://ip.goproxies.com')
proxy_addr = 'proxy.goproxies.com'
proxy_port = 1080

Net::HTTP::Proxy(proxy_addr, proxy_port, username, password).start(uri.host, uri.port, use_ssl: true) do |http|
  req = Net::HTTP::Get.new(uri)
  res = http.request(req)
  puts res.code
  puts res.body
end
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$ch = curl_init('https://ip.goproxies.com');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, 'proxy.goproxies.com:1080');
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'customer-USERNAME:PASSWORD');
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true); // use CONNECT for HTTPS

$response = curl_exec($ch);
if ($response === false) {
    echo 'cURL error: ' . curl_error($ch) . PHP_EOL;
} else {
    echo 'Response: ' . $response . PHP_EOL;
}
curl_close($ch);
```

{% endtab %}
{% endtabs %}
