# Code Sample

Swiftproxy makes it easy for developers to integrate high-quality residential and static residential proxies into their codebase. Whether you're working with HTTP, HTTPS, or SOCKS5 protocols, our proxies are fully compatible with popular programming languages and tools.

This section provides code-level integration examples across various environments, helping you implement proxy support in real-world use cases such as web scraping, data aggregation, SEO monitoring, and more.

## Python

```python
// import requests
if __name__ == '__main__':
proxyip = "http://username_custom_zone_US:password@us.swiftproxy.net:7878"
url = "http://ipinfo.io"
proxies = {
'http': proxyip,
}
data = requests.get(url=url, proxies=proxies)
print(data.text)
```

## Node.js

```
// import fetch from 'node-fetch';
import createHttpsProxyAgent from 'https-proxy-agent'

const username = 'username_custom_zone_us';
const password = 'password';
const proxy = 'us.swiftproxy.net:7878'

const agent = createHttpsProxyAgent(
  `http://${username}:${password}@${proxy}`
);

const response = await fetch('http://ipinfo.io', {
  method: 'get',
  agent: agent,
});

console.log(await response.text());
```

## PHP

```php
// $ch = curl_init();
curl_setopt($ch, CURLOPT_PROXY, "us.swiftproxy.net" );
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "username_custom_zone_us:password");
curl_setopt($ch, CURLOPT_PROXYTYPE,CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_URL, 'http://ipinfo.io');
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
```

## GO

```go
// package main
import (
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
	"os"
)
func main() {
	proxyURL, _ := url.Parse("http://username_custom_zone_US:password@us.swiftproxy.net:7878")
	proxy := http.ProxyURL(proxyURL)
	transport := &http.Transport{
		Proxy: proxy,
	}
	client := &http.Client{
		Transport: transport,
	}
	targetURL := "http://ipinfo.io"

	resp, err := client.Get(targetURL)
	if err != nil {
		fmt.Fprintln(os.Stderr, "Error fetching from", targetURL, ":", err)
		os.Exit(1)
	}
	defer resp.Body.Close()

	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Fprintln(os.Stderr, "Error reading response body:", err)
		os.Exit(1)
	}

	fmt.Println(string(body))
}
```

## Java

```java
// import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.*;
import java.util.Base64;

public class Main {
    public static void main(String[] args) throws Exception {
        try {
            String proxyHost = "us.swiftproxy.net";
            int proxyPort = 7878;
            Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
            String username = "username_custom_zone_us";
            String password = "password";
            String credentials = username + ":" + password;
            URL url = new URL("http://ipinfo.io");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);
            connection.setRequestMethod("GET");
            connection.setRequestProperty("Proxy-Authorization", "Basic " + Base64.getEncoder().encodeToString(credentials.getBytes()));
            int responseCode = connection.getResponseCode();
            System.out.println("Response Code: " + responseCode);
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println((response.toString()));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
```

## C\#

```csharp
// See https://aka.ms/new-console-template for more information
using System.Net;
using System.Threading;

var handler = new HttpClientHandler
{
    UseProxy = true
};
var proxy = new WebProxy("http://us.swiftproxy.net:7878");
var proxyUsername = "username_custom_zone_us";
var proxyPass = "password";
proxy.Credentials = new NetworkCredential(proxyUsername, proxyPass);
handler.Proxy = proxy;
var httpClient = new HttpClient(handler);

httpClient.Timeout = TimeSpan.FromSeconds(15);

var task = httpClient.GetStringAsync("http://ipinfo.io/json");
task.Wait();
Console.WriteLine(task.Result);
```


---

# 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://docs.swiftproxy.net/proxies/code-sample.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.
