郵件
企業服務
menu
郵件
企業服務
提交
基礎信息
等待回復
您的表單已經提交。我們會在24小時內聯繫您。
關閉

多種代理解決方案

不同類型的代理助力您的線上業務,用市場領先的代理服務獲取數據。
動態代理
靜態代理
Socks5代理
Rotating Residential Proxies
動態住宅代理
適用於網頁抓取的最佳代理,IP攔截率更低。
起始價
$0.77/GB
Unlimited Residential Proxies
不限量住宅代理s
不限流量使用的住宅代理
起始價
$79/
Rotating Datacenter Proxies
動態數據中心
可靠的數據中心的快速穩定代理
起始價
$0.77/GB
Rotating ISP Proxies
動態ISP代理
結合了住宅代理和數據中心代理的優點。
起始價
$0.77/GB
STATIC ISP PROXIES
靜態ISP代理套餐
來自可靠ISP的高質量ISP代理。
起始價
$5/
DEDICATED DC PROXIES
獨享數據中心
穩定的數據中心IP,連通率高。
起始價
$2.5/IP
S5 PROXIES
Socks5住宅代理
按IP數量收費的住宅代理。
起始價
$0.045/IP
進一步了解動態代理
進一步了解靜態代理
進一步了解Socks5代理

PYPROXY優勢

優質的IP資源和專業的服務成就了廣受用戶歡迎的PYPROXY。
Fast and Stable Connection
Fast and Stable
Connection
先進的技術和高質量的資源保證您的代理網絡連接。
自建IP池
PYPROXY的自建池提供了我們可以充分利用的高質量代理。
優質的代理服務器
定制和獨享的代理服務器維持99.9%的正常運行時間和穩定的連接。
Fast and Stable Connection
Various Proxy
Features
享受便捷的代理使用和管理。按照您的需要靈活調整代理。
不限並發
線程和會話數量不限。支持批量生成代理。將您的業務潛力最大化。
子賬號管理
創建子賬號來管理您的流量使用,或者和您的夥伴共享代理。
Fast and Stable Connection
Improve Your
Productivity
藉助PYPROXY的高質量IP代理池促進您的業務。
安全高匿名
高匿名的代理保證您的網絡安全,並為您解鎖全球各大網站的內容和數據。
不斷更新的IP資源
我們持續尋找高質量的IP資源,升級我們的IP池,來滿足更多用戶的需求。

將PYPROXY集成到各種程序語言中

我們的代理兼容各種代理軟件和熱門的程序語言。有了我們網站上的代碼示例,您可以快捷地開始抓取網頁數據。
白名單認證
用戶名密碼認證
													
// demo.cpp : Define the entrance for the console application.
//

#include "stdafx.h"
#include "curl/curl.h"
#pragma comment(lib, "libcurl.lib")

//Under the CURLOPT_WRITEFUNCTION setting property, use the callback write_buff_data for processing
static size_t write_buff_data(char *buffer, size_t size, size_t nitems, void *outstream)
{
	memcpy(outstream, buffer, nitems*size);
	return nitems*size;
}

/*
Use 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 host:port");//Set proxy
		curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);//void* buff will be passed to the fourth parameter of the callback function write_buff_data void* outstream
		curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);//Under the CURLOPT_WRITEFUNCTION setting property, use the callback write_buff_data for processing
		curl_easy_setopt(curl, CURLOPT_URL, url);//Set domain to visit
		/* Abort if speed drops below 50 bytes/second for 10 seconds */
		curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);
		curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 50L);
		curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 2000000L);/*Highest 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("Error in getting IP"), TEXT("assistant"), MB_ICONINFORMATION | MB_YESNO);
		}
	}
	return res;
}
/*
Use 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 host:port");//Set proxy
		curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);
		curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);
		curl_easy_setopt(curl, CURLOPT_URL, url);
		curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);
		curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 50L);
		curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 2000000L);/*Highest 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("Error in getting IP"), TEXT("assistant"), MB_ICONINFORMATION | MB_YESNO);
		}
	}
	return res;
}
/*
Not use proxy
*/
int GetUrl(char *url, char *buff)
{
	CURL *curl;
	CURLcode res;
	curl = curl_easy_init();
	if (curl)
	{
		curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)buff);
		curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_buff_data);
		curl_easy_setopt(curl, CURLOPT_URL, url);
		curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 10L);
		curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 50L);
		curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 2000000L);/*Highest 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("Error in getting IP"), TEXT("assistant"), MB_ICONINFORMATION | MB_YESNO);
		}
	}
	return res;
}
int main()
{
	char *buff=(char*)malloc(1024*1024);
	memset(buff, 0, 1024 * 1024);

	GetUrl("http://baidu.com", buff);
	printf("Not use proxy:%s\n", buff);

	memset(buff, 0, 1024 * 1024);
	GetUrlHTTP("http://baidu.com", buff);
	printf("result of http:%s\n", buff);

	memset(buff, 0,1024 * 1024);
	GetUrlSocks5("http://baidu.com", buff);
	printf("result of socks5:%s\n", buff);

	free(buff);
	Sleep(10 * 1000);//Wait 10 seconds to exit
	
	return 0;
}																																					
												
													
package main

import (
	"context"
	"fmt"
	"io/ioutil"
	"net"
	"net/http"
	"net/url"
	"strings"
	"time"

	"golang.org/x/net/proxy"
)

// Proxy setting
var ip = "proxy server"   //Example:192.168.0.1
var port = "port" //Example:2333
// Proxy server
var proxyServer = "http://" + ip + ":" + port

// Test link
var testApi = "https://ipinfo.pyproxy.io"

func main() {
	var proxyIP = proxyServer
	go httpProxy(proxyIP, "", "")
	go Socks5Proxy(proxyIP, "", "")
	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))
	}
}														
												
													
#!/usr/bin/env node
require('request-promise')({
	url: 'https://pyproxy.com',//Request URL
	proxy: 'http://ip:port',//Proxy server IP: port
	})
.then(function(data){ console.log(data); },
	function(err){ console.error(err); });													
												
													
<?php
//Proxy setting
$ip = "Proxy server IP";//Example:192.168.0.1
$port = "Port";//Example:2333
// Target URL
$targetUrl = "http://google.com";
// Proxy server
$proxyServer = "http://$ip:$port";
													
// Tunnel verification
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $targetUrl);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
													
// Proxy server setting
curl_setopt($ch, CURLOPT_PROXYTYPE, 0); //http
// curl_setopt($ch, CURLOPT_PROXYTYPE, 5); //sock5
curl_setopt($ch, CURLOPT_PROXY, $proxyServer);
													
// Tunnel verification setting
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);
$result = curl_exec($ch);
$err = curl_error($ch);
													
curl_close($ch);
													
var_dump($err);
var_dump($result);
													
													
												
													
package demo;

import okhttp3.OkHttpClient;
import okhttp3.Request;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Proxy;

/**
 * compile 'com.squareup.okhttp3:okhttp:4.9.3'
 */
class ApiProxyJava {
	public static void main(String[] args) throws IOException {
		testHttpWithOkHttp();
		testSocks5WithOkHttp();
	}

	/**
	 * http proxy
	 */
	public static void testHttpWithOkHttp() throws IOException {
		//Set the URL you want to visit
		String url = "https://ipinfo.pyproxy.io";
		//Create an HTTP proxy object and set IP and port for the proxy server
		Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("ip", "port"));//The "ip" and "port" here should be replaced with proxy server IP and port.
		//Build an OkHttpClient instance and configure the HTTP 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);
	}

	/**
	 * SOCKS5 Proxy
	 */
	public static void testSocks5WithOkHttp() throws IOException {
		//Set the URL you want to visit
		String url = "https://ipinfo.pyproxy.io";
		//Create a SOCKS proxy object and set IP and port for the proxy server
		Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("ip", "port"));//The "ip" and "port" here should be replaced with proxy server IP and port.
		//Build an OkHttpClient instance and configure the SOCKS proxy
		//A SOCKS proxy is used here, which means that all network traffic (including TCP connections) will be forwarded through this 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);
	}
}

													
												
													
# coding=utf-8
# !/usr/bin/env python
import json
import threading
import time
import requests as rq

# Set head of request
headers = {
	"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0",
	"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
	"Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
	"Accept-Encoding": "gzip, deflate, br"
}
# Test URL
testUrl = 'https://ipinfo.pyproxy.io'


# Main business
def testPost(host, port):
	# Configure IP and port you get
	proxies = {
		# Proxy server IP you get by API
		# Port you get by API
		'http': 'http://{}:{}'.format(host, port),
		'https': 'http://{}:{}'.format(host, port),
	}
	while True:
		try:
			# Test after configuring proxies
			res = rq.get(testUrl, proxies=proxies, timeout=5)
			# print(res.status_code)
			# Print the result of request
			print(res.status_code, "***", res.text)
			break
		except Exception as e:
			print(e)
			break
	return


class ThreadFactory(threading.Thread):
	def __init__(self, host, port):
		threading.Thread.__init__(self)
		self.host = host
		self.port = port

	def run(self):
		testPost(self.host, self.port)


# Link for getting proxies  Return is in json type
tiqu = 'Get proxy link'

while 1 == 1:
	# Get 10 at a time, and put in thread
	resp = rq.get(url=tiqu, timeout=5)
	try:
		if resp.status_code == 200:
			dataBean = json.loads(resp.text)
		else:
			print("Fail to get")
			time.sleep(1)
			continue
	except ValueError:
		print("fail to get")
		time.sleep(1)
		continue
	else:
		# Parse json array and get ip and port
		print("code=", dataBean["code"])
		code = dataBean["code"]
		if code == 0:
			threads = []
			for proxy in dataBean["data"]:
				threads.append(ThreadFactory(proxy["ip"], proxy["port"]))
			for t in threads:  # Turn on thread
				t.start()
				time.sleep(0.01)
			for t in threads:  # Block thread
				t.join()
	# break
	time.sleep(1)

													
												
C/C++
GO
Node.js
PHP
Java
Python
													
// 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)

/*
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: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
			
	
	return 0;
}																											
												
													
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 = "Proxy username"
var password = "Proxy password"

// 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))
  }
}
													
												
													
#!/usr/bin/env node
require('request-promise')({
	url: 'https://ipinfo.io',//Request URL
	proxy: 'http://???-zone-custom:????@pyproxy.com',//proxy username-zone-proxy pool:proxy username@proxy server address
	})
.then(function(data){ console.log(data); },
	function(err){ console.error(err); });
													
												
													
<?php
//User Pass Auth setting
$user = "Proxy_username";
$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);
													
												
													
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代理(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.
		// proxyAuthenticator):(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("account", "password");//The "account" and "port" 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);
	}
}

													
												
													
'''
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://proxy username:proxy password@proxy server IP:proxy server port',
		'https': 'http://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)
													
												
C/C++
GO
Node.js
PHP
Java
Python

解鎖全球的網頁數據

PYPROXY提供全球大多數地區高質量的代理。指定您需要的國家或城市解鎖相應地區的網站和數據。
Canada
加拿大
231,080 IPs
USA
美國
1,293,640 IPs
Mexico
墨西哥
2,138,920 IPs
Brazil
巴西
4,726,806 IPs
Argentina
阿根廷
1,034,820 IPs
France
法國
905,340 IPs
Malaysia
馬來西亞
1,520,080 IPs
Philippines
菲律賓
1,616,220 IPs
Canada
加拿大
231,080 IPs
USA
美國
1,293,640 IPs
Mexico
墨西哥
2,138,920 IPs
Brazil
巴西
4,726,806 IPs
Argentina
阿根廷
1,034,820 IPs
France
法國
905,340 IPs
Malaysia
馬來西亞
1,520,080 IPs
Philippines
菲律賓
1,616,220 IPs

PYPROXY產品歷史

Jun 2014
Team Construction
團隊組建
Feb 2015
Product Release
產品發佈
Aug 2022
S5 Proxies
S5代理
Oct 2022
Unlimited Resi Proxies
不限量住宅代理
Mar 2023
Reseller System
代理商系統
Apr 2023
Datacenter Proxies
數據中心代理
Jul 2023
PY Wallet
PY錢包

優質客戶服務

客戶滿意是我們的首要任務.正是您的支持使我們稱為最受歡迎的代理服務提供商之一.我們隨時為您提供支持.我們相信您的成功就是我們的成功.
代理服務器使用教學
修復代理問題
解決基礎技術問題
代理套餐定制

我們的顧客的評價

海莉:
非常適合網頁抓取。 我已經使用了三個多月了,我很滿意。 最令人印象深刻的是他們會聽取客戶的建議並添加您要求的功能。 有史以來很棒的代理提供商!
安德里亞:
如果你想選擇代理服務,pyproxy是一個不錯的選擇。 好的產品,好的服務。 我很喜歡。 點讚。
拉吉:
我們與 pyproxy 有著良好的合作。 我很高興我的朋友向我推薦了它,事實證明這是一個正確的建議。 它可以與我的工具完美集成。 我們將長期使用 pyproxy。
諾亞:
PYPROXY擁有優質的IP池。 而且它的價格也不高,這讓我們受益匪淺。 他們不斷添加更多的 IP 和更多的國家。 非常好的提供商。
約書亞:
我一開始在配置代理時遇到問題。 客服幫我修好了,還教我如何定制。 我很高興我找到了pyproxy。
伊娃:
我使用代理來管理社交媒體帳戶。 我嘗試了很多代理提供商,這證明 pyproxy 是我的最佳選擇。 他們的靜態 ISP 代理非常棒。 我每個月都會更新IP。 我的賬戶在他們的代理下表現良好。
瑪麗亞:
PYPROXY 的無限代理是一項偉大的創新。 我對此非常滿意。 我甚至要求定制套餐,具有更高的帶寬。 定制計劃肯定會花費更多,但完全值得。
詹姆士:
學習如何使用 pyproxy 非常容易。 我喜歡城市選擇功能,這是許多提供商所沒有的。
艾迪:
很酷的產品,pyproxy! 代理的類型越來越多,有用的功能也越來越多。 我是多麼幸運,選擇了你。 答應我你會變得更好!
塔圖姆:
我認識 pyproxy 很久了。 當它還是一個新產品時我就一直在使用它。 就像看著嬰兒成長一樣。 非常感激,它變得越來越好。 祝你好運,我的孩子。 我們都有光明的未來。

A trusted partner for 2,000+ companies globally

close
黑五活動上線!划算且優質的明智之選!
立省 $60 美元
用我們高速安全的代理服務解鎖網絡自由。
現在購買