# 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
// example.js
const axios = require('axios');
const { HttpsProxyAgent } = require('https-proxy-agent');

const proxyAuth = encodeURIComponent('customer-USERNAME') + ':' + encodeURIComponent('PASSWORD');
const proxyUrl = `http://${proxyAuth}@proxy.goproxies.com:1080`; // use http:// here for CONNECT proxy auth
const agent = new HttpsProxyAgent(proxyUrl);

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

{% 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"
	"net/http"
	"net/url"
	"time"
	"io"
)

func main() {
	proxyURL, _ := url.Parse("http://customer-USERNAME:PASSWORD@proxy.goproxies.com:1080")
	transport := &http.Transport{
		Proxy: http.ProxyURL(proxyURL),
		// Optional: tune TLSHandshakeTimeout, IdleConnTimeout, etc.
		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
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;

public class ProxyExample {
  public static void main(String[] args) throws Exception {
    String proxyHost = "proxy.goproxies.com";
    int proxyPort = 1080;
    String user = "customer-USERNAME";
    String pass = "PASSWORD";

    CredentialsProvider credsProvider = new BasicCredentialsProvider();
    credsProvider.setCredentials(new AuthScope(proxyHost, proxyPort), new UsernamePasswordCredentials(user, pass));

    HttpHost proxy = new HttpHost(proxyHost, proxyPort);
    RequestConfig config = RequestConfig.custom().setProxy(proxy).build();

    try (CloseableHttpClient httpclient = HttpClients.custom()
             .setDefaultCredentialsProvider(credsProvider)
             .build()) {
      HttpGet httpget = new HttpGet("https://ip.goproxies.com");
      httpget.setConfig(config);

      try (CloseableHttpResponse response = httpclient.execute(httpget)) {
        System.out.println(response.getStatusLine());
        System.out.println(new String(response.getEntity().getContent().readAllBytes()));
      }
    }
  }
}
```

{% endtab %}

{% tab title="Ruby Net::HTTP" %}

```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');
// Use tunnel for HTTPS so CONNECT is used
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);

$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 %}
