Documentation
  • Proxies
    • Quick Guide
    • Rotating Residential Proxies
      • Get Started
      • Making Requests
      • Location Settings
        • Country
        • State
        • City
        • ASN Targeting
        • Server Specific Entry Nodes
      • Session Control
      • Whitelisting IPs
      • Proxy Generator
  • Unlimited Residential Proxies
    • Get Started
    • Making Requests
    • Location Settings
      • Continent
    • Session Control
    • Whitelisting IPs
    • Proxy Generator
  • Static ISP Proxies
    • Location Choosing
    • Making Requests
    • Proxy Credential
    • Whitelisting IPs
  • Public API
  • General
    • Restricted Targets
    • Response Codes
  • Advanced Proxy Solution
    • Web Unblocker
      • Get Started
      • Making Requests
        • JavaScript Rendering
        • Geo-location
        • Session
        • Header
        • Cookie
        • Blocking Resource Loading
Powered by GitBook
On this page
  1. Unlimited Residential Proxies
  2. Location Settings

Continent

Adding a region flag to the authorization header enables one to specify which continent IP to use to process the request. The value of this parameter is the name of continents, replacing the space with _.

Here are all the region parameters: — region-south_america — region-north_america — region-europe — region-asia — region-africa

Code example

In this example, a query to ipinfo.pyproxy.io is performed from a random IP address from Asia:

curl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia:PASSWORD" ipinfo.pyproxy.io
// demo.cpp : Define the entry point of a console application
        //
        
        #include "stdafx.h"
        #include "curl/curl.h"
        #pragma comment(lib, "libcurl.lib")
        //cURL callback function
        static size_t write_buff_data(char *buffer, size_t size, size_t nitems, void *outstream)
        {
            //Copy the received data to a buffer
            memcpy(outstream, buffer, nitems*size);
            return nitems*size;
        }
        /*
        Use an HTTP proxy
        */
        int GetUrlHTTP(char *url, char *buff)
        {
            CURL *curl;
            CURLcode res;
            curl = curl_easy_init();
            if (curl)
            {
                curl_easy_setopt(curl, CURLOPT_PROXY,"http://proxy server:port");//Set the HTTP proxy address
                curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "USERNAME-zone-adam-region-asia:PASSWORD");//username and password, separated by ":"
                curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);//Set read/write buffers
                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);//Set callback function
                curl_easy_setopt(curl, CURLOPT_URL, url);//Set URL address
                curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);//Set a long integer to control the number of seconds to transfer the bytes defined by CURLOPT_LOW_SPEED_LIMIT
                curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 50L);//Set a long integer to control the number of bytes to transfer
                curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 2000000L);//Maximum download speed
        
                res = curl_easy_perform(curl);
                curl_easy_cleanup(curl);
                if (res == CURLE_OK){
                    return res;
                }else {
                    printf("Error code:%d\n", res);
                    MessageBox(NULL, TEXT("Get IP error"), TEXT("Helper"), MB_ICONINFORMATION | MB_YESNO);
                }
            }
            return res;
        }
        /*
        Use a SOCKS5 proxy
        */
        int GetUrlSocks5(char *url, char *buff)
        {
            CURL *curl;
            CURLcode res;
            curl = curl_easy_init();
            if (curl)
            {
                curl_easy_setopt(curl, CURLOPT_PROXY, "socks5://proxy server:port");//Set the SOCKS5 proxy address
                curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "username:password");//username and password, separated by ":"
                curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);//Set read/write buffers
                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);//Set callback function
                curl_easy_setopt(curl, CURLOPT_URL, url);//Set URL address
                curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);//Set a long integer to control the number of seconds to transfer the bytes defined by CURLOPT_LOW_SPEED_LIMIT
                curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 50L);//Set a long integer to control the number of bytes to transfer
                curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 2000000L);/*Maximum download speed*/
                res = curl_easy_perform(curl);
                curl_easy_cleanup(curl);
                if (res == CURLE_OK) {
                    return res;
                }
                else {
                    printf("Error code:%d\n", res);
                    MessageBox(NULL, TEXT("Get IP error"), TEXT("Helper"), MB_ICONINFORMATION | MB_YESNO);
                }
            }
            return res;
        }
        /*
        Don't use a proxy
        */
        int GetUrl(char *url, char *buff)
        {
            CURL *curl;
            CURLcode res;
            //The cURL library used, initialize the cURL library
            curl = curl_easy_init();
            if (curl)
            {
                curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);//Set read/write buffers
                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);//Set callback function
                curl_easy_setopt(curl, CURLOPT_URL, url);//Set URL address
                curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);//Set a long integer to control the number of seconds to transfer the bytes defined by CURLOPT_LOW_SPEED_LIMIT
                curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 50L);//Set a long integer to control the number of bytes to transfer
                curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 2000000L);/*Maximum download speed*/
                res = curl_easy_perform(curl);
                curl_easy_cleanup(curl);
                if (res == CURLE_OK)
                {
                    return res;
                }
                else {
                    printf("Error code:%d\n", res);
                    MessageBox(NULL, TEXT("Get IP error"), TEXT("Helper"), MB_ICONINFORMATION | MB_YESNO);
                }
            }
            return res;
        }
        int main()
        {
            char *buff=(char*)malloc(1024*1024);
            memset(buff, 0, 1024 * 1024);
            //Not use an HTTP proxy
            GetUrl("http://myip.top", buff);
            printf("Not use proxy:%s\n", buff);
            //Use an HTTP proxy
            memset(buff, 0, 1024 * 1024);
            GetUrlHTTP("http://ipinfo.io", buff);
            printf("HTTP result:%s\n", buff);
            //Use a SOCKS5 proxy
            memset(buff, 0,1024 * 1024);
            GetUrlSocks5("http://ipinfo.io", buff);
            printf("SOCKS5 result:%s\n", buff);
        
            free(buff);
            Sleep(10 * 1000);//Wait 10 seconds and exit
                    Wait 10 seconds and exit
            
            return 0;
        }curl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia:PASSWORD" ipinfo.pyproxy.iocurl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia-session-abcdef123456-sessTime-15:PASSWORD" ipinfo.pyproxy.io
 package main
            
        import (
            "context"
            "fmt"
            "io/ioutil"
            "net"
            "net/http"
            "net/url"
            "strings"
            "time"
        
            "golang.org/x/net/proxy"
        )
        
        // User Pass Auth Setting
        var account = "USERNAME-zone-adam-region-asia"//Proxy username
        var password = "PASSWORD"//Proxy passworld
        
        // Proxy server
        var proxyServer = "proxy address"//Example:xxx.na.pyproxy.io:2336;
        
        // Test URL
        var testApi = "https://ipinfo.pyproxy.io"
        
        func main() {
            go httpProxy(proxyServer, account, password)
            go Socks5Proxy(proxyServer, account, password)
        
            time.Sleep(time.Minute)
        }
        
        // http proxy
        func httpProxy(proxyUrl, user, pass string) {
            defer func() {
                if err := recover(); err != nil {
                    fmt.Println(time.Now().Format("2006-01-02 15:04:05 07"), "http", "response:", err)
                }
            }()
            urli := url.URL{}
        
            if !strings.Contains(proxyUrl, "http") {
                proxyUrl = fmt.Sprintf("http://%s", proxyUrl)
            }
        
            urlProxy, _ := urli.Parse(proxyUrl)
            if user != "" && pass != "" {
                urlProxy.User = url.UserPassword(user, pass)
            }
        
            client := &http.Client{
                Transport: &http.Transport{
                    Proxy: http.ProxyURL(urlProxy),
                },
            }
            rqt, err := http.NewRequest("GET", testApi, nil)
            if err != nil {
                panic(err)
                return
            }
            response, err := client.Do(rqt)
            if err != nil {
                panic(err)
                return
            }
        
            defer response.Body.Close()
            body, _ := ioutil.ReadAll(response.Body)
            fmt.Println(time.Now().Format("2006-01-02 15:04:05 07"), proxyUrl, "【http success】", "response:", response.Status, string(body))
        
            return
        }
        
        // socks5 proxy
        func Socks5Proxy(proxyUrl, user, pass string) {
        
            defer func() {
                if err := recover(); err != nil {
                    fmt.Println(time.Now().Format("2006-01-02 15:04:05 07"), proxyUrl, "response:", err)
                }
            }()
        
            var userAuth proxy.Auth
            if user != "" && pass != "" {
                userAuth.User = user
                userAuth.Password = pass
            }
            dialer, err := proxy.SOCKS5("tcp", proxyUrl, &userAuth, proxy.Direct)
            if err != nil {
                panic(err)
            }
            httpClient := &http.Client{
                Transport: &http.Transport{
                    DialContext: func(ctx context.Context, network, addr string) (conn net.Conn, err error) {
                        return dialer.Dial(network, addr)
                    },
                },
                Timeout: time.Second * 10,
            }
        
            if resp, err := httpClient.Get(testApi); err != nil {
                panic(err)
            } else {
                defer resp.Body.Close()
                body, _ := ioutil.ReadAll(resp.Body)
                fmt.Println(time.Now().Format("2006-01-02 15:04:05 07"), proxyUrl, "【socks5 success】", "response:", string(body))
            }
        }curl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia:PASSWORD" ipinfo.pyproxy.iocurl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia-session-abcdef123456-sessTime-15:PASSWORD" ipinfo.pyproxy.io
<?php
        //User Pass Auth setting
        $user = "USERNAME-zone-adam-region-asia";//Proxy_username
        $password = "PASSWORD";//Proxy_password
        // Target URL
        $targetUrl = "http://google.com";
        // Proxy server
        $proxyServer = "proxy address";  //Example:xxx.na.pyproxy.io:2336;
        $proxyUserPwd = "$user:$password";
                                        
        // Tunnel verification
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $targetUrl);
        curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                                        
        // Set proxy server
        curl_setopt($ch, CURLOPT_PROXYTYPE, 0); //http
        // curl_setopt($ch, CURLOPT_PROXYTYPE, 5); //sock5
        curl_setopt($ch, CURLOPT_PROXY, $proxyServer);
                                        
        // Set tunnel verification information
        curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;)");
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyUserPwd);
        $result = curl_exec($ch);
        $err = curl_error($ch);
                                        
        curl_close($ch);
                                        
        var_dump($err);
        var_dump($result);curl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia:PASSWORD" ipinfo.pyproxy.iocurl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia-session-abcdef123456-sessTime-15:PASSWORD" ipinfo.pyproxy.io
package demo;
            
        import okhttp3.Credentials;
        import okhttp3.OkHttpClient;
        import okhttp3.Request;
        
        import java.io.IOException;
        import java.net.InetSocketAddress;
        import java.net.PasswordAuthentication;
        import java.net.Proxy;
        
        /**
        * compile 'com.squareup.okhttp3:okhttp:4.9.3'
        */
        class AutProxyJava {
            public static void main(String[] args) throws IOException {
                testWithOkHttp();
        
                testSocks5WithOkHttp();
            }
        
            /**
            * http proxy
            */
            public static void testWithOkHttp() throws IOException {
                String url = "https://ipinfo.pyproxy.io";//Request URL
                //Create a proxy object of type HTTP and specify the host name and port number of the proxy server
                Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("host", "port"));//The "host" and "port" used here should be replaced with the proxy server address and port.
                // Build a custom OkHttpClient instance, set up a proxy server and add a proxy authenticator (proxyAuthenticator)
                OkHttpClient client = new OkHttpClient().newBuilder().proxy(proxy).proxyAuthenticator((route, response) -> {
                    // Generate the credential string for Basic authentication here
                    String credential = Credentials.basic("USERNAME-zone-adam-region-asia", "PASSWORD");//The "User1231-zone-adam-region-europe" and "Aabc111" here should be replaced with proxy username and proxy password.
                    // If proxy server needs authentication, please add authentication information in request head.
                    return response.request().newBuilder()
                            .header("Proxy-Authorization", credential)
                            .build();
                }).build();
        
                //Send GET Request and get response
                Request request = new Request.Builder().url(url).build();
                okhttp3.Response response = client.newCall(request).execute();
                //Get and print response
                String responseString = response.body().string();
                System.out.println(responseString);
            }
        
            /**
            * Socks5 proxy
            */
            public static void testSocks5WithOkHttp() throws IOException {
                //Request URL
                String url = "https://ipinfo.pyproxy.io";
                //Create a SOCKS proxy object and set the actual proxy server host name and port
                Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("host", "port"));//The "host" and "port" used here should be replaced with the proxy server address and port.
                //Set the global default authenticator (Authenticator) to handle basic authentication required for all network connections. A username and password are preset here
                java.net.Authenticator.setDefault(new java.net.Authenticator() {
                    private PasswordAuthentication authentication =
                            new PasswordAuthentication("account", "password".toCharArray());//The "account" and "port" here should be replaced with proxy username and proxy password.
        
                    @Override
                    protected PasswordAuthentication getPasswordAuthentication() 
                });
                //Build an OkHttpClient instance and configure the SOCKS proxy
                OkHttpClient client = new OkHttpClient().newBuilder().proxy(proxy).build();
                //Send GET request and get response
                Request request = new Request.Builder().url(url).build();
                okhttp3.Response response = client.newCall(request).execute();
                //Get and print response
                String responseString = response.body().string();
                System.out.println(responseString);
            }
        }curl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia:PASSWORD" ipinfo.pyproxy.iocurl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia-session-abcdef123456-sessTime-15:PASSWORD" ipinfo.pyproxy.io
'''
        Import thread, time and request package)
        to realize multiple thread control, waiting and http request)
        '''
        import _thread
        import time
        import requests
        
        # Set request head
        headers = {
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
            "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.19 NetType/4G Language/zh_TW",
        }
        
        # Test URL
        mainUrl = 'https://ipinfo.pyproxy.io'
        
        def testUrl():
            # Set proxy username and password
            proxy = {
                'http': 'http://USERNAME-zone-adam:PASSWORD@pr.pyproxy.com:16666',#proxy username:proxy password@proxy server IP:proxy server port
                'https': 'http://USERNAME-zone-adam:PASSWORD@pr.pyproxy.com:16666',#proxy username:proxy password@proxy server IP:proxy server port
            }
            try:
                res = requests.get(mainUrl, headers=headers, proxies=proxy, timeout=10)
                print(res.status_code, res.text)
            except Exception as e:
                print("Fail to visit", e)
                pass
        
        # Turn on 10 threads to test
        for i in range(0, 10):
            _thread.start_new_thread(testUrl, ())
            time.sleep(0.1)
        
        time.sleep(10)'''
        Import thread, time and request package)
        to realize multiple thread control, waiting and http request)
        '''
        import _thread
        import time
        import requests
        
        # Set request head
        headers = {
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
            "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.19 NetType/4G Language/zh_TW",
        }
        
        # Test URL
        mainUrl = 'https://ipinfo.pyproxy.io'
        
        def testUrl():
            # Set proxy username and password
            proxy = {
                'http': 'http://USERNAME-zone-adam-region-asia:PASSWORD@pr.pyproxy.com:16666',#proxy username:proxy password@proxy server IP:proxy server port
                'https': 'http://USERNAME-zone-adam-region-asia:PASSWORD@pr.pyproxy.com:16666',#proxy username:proxy password@proxy server IP:proxy server port
            }
            try:
                res = requests.get(mainUrl, headers=headers, proxies=proxy, timeout=10)
                print(res.status_code, res.text)
            except Exception as e:
                print("Fail to visit", e)
                pass
        
        # Turn on 10 threads to test
        for i in range(0, 10):
            _thread.start_new_thread(testUrl, ())
            time.sleep(0.1)
        
        time.sleep(10)curl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia:PASSWORD" ipinfo.pyproxy.iocurl -x SERVERNAME.pyproxy.io:2510 -U "USERNAME-zone-adam-region-asia-session-abcdef123456-sessTime-15:PASSWORD" ipinfo.pyproxy.io
PreviousLocation SettingsNextSession Control

Last updated 1 month ago