Trả lời nhanh
Làm sao dùng proxy datacenter trong code?
Các ví dụ code proxy này truyền một URL http://USERNAME:PASSWORD@IP:PORT vào client của bạn: -x trong curl, proxies= trong Python requests, một ProxyAgent trong Node.js, một tùy chọn proxy trong Playwright. SOCKS5 dùng socks5h://. IP của RackProxies hỗ trợ HTTP, HTTPS (CONNECT) và SOCKS5, từ 1,29 US$ mỗi IPv4 riêng trong 30 ngày. Không cần KYC, chỉ crypto.
Tôi cần đoạn code nào?
| Client | Proxy HTTP | Proxy SOCKS5 | Gói bổ sung |
|---|---|---|---|
| curl | -x http://… | -x socks5h://… | Không có |
| Python requests | proxies={…} | URL socks5h:// | requests[socks] cho SOCKS5 |
| Python aiohttp | proxy= và proxy_auth= | Không tích hợp sẵn | aiohttp-socks cho SOCKS5 |
| Node.js fetch | undici ProxyAgent | Không tích hợp sẵn | undici |
| Node.js https | https-proxy-agent | socks-proxy-agent | Một trong hai |
| Playwright | proxy: { server, username, password } | Dùng HTTP hoặc allowlist | playwright |
Làm sao dùng proxy với curl?
Truyền URL proxy với -x. curl tự xử lý đường hầm CONNECT cho các đích https://. Mọi đoạn code trên trang này dùng địa chỉ tài liệu 203.0.113.24; trang định dạng kết nối hướng dẫn cách tạo URL từ dòng của bạn.
# HTTP proxy, HTTPS target (CONNECT tunnel)
curl -x http://USERNAME:[email protected]:8000 https://api.ipify.org
# SOCKS5, hostname resolved by the proxy
curl -x socks5h://USERNAME:[email protected]:8000 https://api.ipify.org
# Login passed separately (no URL-encoding needed)
curl -x http://203.0.113.24:8000 -U 'USERNAME:PASSWORD' https://httpbin.org/ip
# IP allowlist: no login
curl -x http://203.0.113.24:8000 https://api.ipify.org
# Show the proxy handshake and the timings
curl -v -s -o /dev/null -w '%{time_connect} %{time_appconnect} %{time_total}\n' \
-x http://USERNAME:[email protected]:8000 https://example.comLàm sao dùng proxy với Python requests?
Truyền cho requests một dictionary proxies với cùng URL cho http và https. Khóa https là khóa dùng cho các đích https://; giá trị của nó vẫn bắt đầu bằng http:// vì nó mô tả kết nối tới proxy. requests ném ProxyError khi proxy từ chối kết nối hoặc đăng nhập.
import requests # pip install requests
# From the line 203.0.113.24:8000:USERNAME:PASSWORD in your account
proxy = 'http://USERNAME:[email protected]:8000'
proxies = {'http': proxy, 'https': proxy}
try:
response = requests.get('https://api.ipify.org', proxies=proxies, timeout=20)
response.raise_for_status()
print('Exit IP:', response.text)
except requests.exceptions.ProxyError as error:
print('Proxy problem (credentials, port or allowlist):', error)
except requests.exceptions.Timeout:
print('No answer within 20 seconds')import requests # pip install "requests[socks]"
# socks5h: the proxy resolves the hostname. Use the SOCKS5 port shown in your account.
proxy = 'socks5h://USERNAME:[email protected]:8000'
proxies = {'http': proxy, 'https': proxy}
response = requests.get('https://httpbin.org/ip', proxies=proxies, timeout=20)
print(response.json()) # {'origin': '203.0.113.24'}import requests
# A Session reuses connections: faster for many requests through the same IP.
session = requests.Session()
session.proxies.update({
'http': 'http://USERNAME:[email protected]:8000',
'https': 'http://USERNAME:[email protected]:8000',
})
session.headers['User-Agent'] = 'my-monitor/1.0 (contact: [email protected])'
for url in ['https://example.com', 'https://httpbin.org/ip']:
response = session.get(url, timeout=20)
print(url, response.status_code, len(response.content), 'bytes')Đặt User-Agent ghi tên công cụ của bạn và thông tin liên hệ, như trong ví dụ Session: chủ trang web khi đó có thể liên hệ với bạn thay vì chặn bạn. requests cũng đọc các biến môi trường HTTP_PROXY và HTTPS_PROXY khi không truyền đối số proxies.
Làm thế nào để dùng proxy với Python aiohttp?
aiohttp nhận proxy theo từng request: proxy= cho địa chỉ và proxy_auth= cho thông tin đăng nhập. Nó hỗ trợ proxy HTTP, bao gồm CONNECT cho các mục tiêu https://. Với SOCKS5 thì cần gói aiohttp-socks riêng.
import asyncio
import aiohttp # pip install aiohttp (HTTP proxies; SOCKS needs the aiohttp-socks package)
PROXY = 'http://203.0.113.24:8000'
AUTH = aiohttp.BasicAuth('USERNAME', 'PASSWORD')
async def main():
timeout = aiohttp.ClientTimeout(total=20)
async with aiohttp.ClientSession(timeout=timeout) as session:
async with session.get('https://httpbin.org/ip', proxy=PROXY, proxy_auth=AUTH) as response:
print(await response.json())
asyncio.run(main())Làm thế nào để dùng proxy với Node.js?
fetch có sẵn của Node không nhận đối số proxy, nên hãy dùng gói undici và ProxyAgent của nó làm dispatcher. Với module https cổ điển, dùng https-proxy-agent cho proxy HTTP và socks-proxy-agent cho SOCKS5. Cả hai đoạn mã đều là ES module: lưu chúng thành các tệp .mjs.
// npm install undici
import { ProxyAgent, fetch } from 'undici';
const dispatcher = new ProxyAgent({
uri: 'http://203.0.113.24:8000',
token: `Basic ${Buffer.from('USERNAME:PASSWORD').toString('base64')}`,
});
const response = await fetch('https://api.ipify.org', { dispatcher });
console.log('Exit IP:', await response.text());// npm install https-proxy-agent socks-proxy-agent
import https from 'node:https';
import { HttpsProxyAgent } from 'https-proxy-agent';
import { SocksProxyAgent } from 'socks-proxy-agent';
const httpAgent = new HttpsProxyAgent('http://USERNAME:[email protected]:8000');
// Use the SOCKS5 port shown in your account; socks5h lets the proxy resolve DNS.
const socksAgent = new SocksProxyAgent('socks5h://USERNAME:[email protected]:8000');
for (const agent of [httpAgent, socksAgent]) {
https.get('https://api.ipify.org', { agent }, (res) => {
res.setEncoding('utf8');
res.on('data', (chunk) => console.log('Exit IP:', chunk));
}).on('error', (err) => console.error('Proxy error:', err.message));
}Làm thế nào để dùng proxy với Playwright?
Truyền một đối tượng proxy vào chromium.launch() với server và, riêng biệt, username và password. Dùng dạng HTTP: client SOCKS5 có sẵn của Chromium từ trước đến nay không hỗ trợ xác thực username và password cho proxy SOCKS5. Với allowlist IP, bỏ qua username và password.
// npm install playwright && npx playwright install chromium
import { chromium } from 'playwright';
const browser = await chromium.launch({
proxy: { server: 'http://203.0.113.24:8000', username: 'USERNAME', password: 'PASSWORD' },
});
const page = await browser.newPage();
await page.goto('https://api.ipify.org');
console.log('Exit IP:', await page.textContent('body'));
await browser.close();Dùng trình duyệt qua proxy để QA các trang web của chính bạn, kiểm tra quảng cáo và bản địa hóa cùng những công việc hợp pháp tương tự. Lưu ý rằng proxy chỉ thay đổi IP: ngôn ngữ và múi giờ của trình duyệt vẫn là của máy bạn trừ khi bạn đặt chúng trong browser context.
Làm thế nào để đo độ trễ qua proxy?
Đo thời gian của vài request hoàn chỉnh và lấy giá trị trung vị. Đoạn mã Python bên dưới gửi năm request đến https://example.com qua một IP. Chạy nó qua các IP ở những thành phố datacenter khác nhau để so sánh; hướng dẫn thành phố giải thích giới hạn vật lý cho từng khoảng cách.
import statistics
import time
import requests
proxy = 'http://USERNAME:[email protected]:8000'
timings = []
for _ in range(5):
start = time.perf_counter()
requests.get('https://example.com', proxies={'http': proxy, 'https': proxy}, timeout=20)
timings.append((time.perf_counter() - start) * 1000)
print(f'median {statistics.median(timings):.0f} ms over {len(timings)} requests')Làm thế nào để dùng cả một danh sách IP?
Tải bản xuất TXT của bạn, chuyển mỗi dòng thành một URL và chọn một IP cho mỗi request: luân phiên qua các trang web, hoặc cùng một IP cho cùng một trang web. Hướng dẫn xoay vòng so với tĩnh có ví dụ đầy đủ, và trang định dạng kết nối có công cụ chuyển đổi cho cả danh sách. Tôn trọng tốc độ của từng trang web bất kể danh sách của bạn lớn đến đâu: nhiều IP hơn không làm tăng giới hạn của một trang web.
Câu hỏi về ví dụ mã
Tại sao tôi dùng http:// cho proxy khi trang web là https://?
Scheme của URL proxy mô tả kết nối của bạn đến proxy, không phải đến trang web. Client của bạn kết nối đến proxy qua TCP thuần, yêu cầu nó mở một tunnel CONNECT, rồi chạy TLS với trang web bên trong đó. Nội dung trang vẫn được mã hóa đầu cuối; chỉ thông tin đăng nhập proxy di chuyển ở dạng đọc được.
Mật khẩu của tôi có ký tự đặc biệt. Có gì thay đổi?
Ở dạng URL, mã hóa mật khẩu bằng urllib.parse.quote(password, safe='') trong Python hoặc encodeURIComponent(password) trong JavaScript. Các client nhận thông tin đăng nhập riêng, như BasicAuth của aiohttp, username và password của Playwright, hoặc -U của curl, không cần mã hóa. Trang định dạng kết nối liệt kê các ký tự.
Tại sao requests báo thiếu dependencies để hỗ trợ SOCKS?
Hỗ trợ SOCKS của requests nằm trong một extra tùy chọn. Cài nó bằng pip install "requests[socks]", lệnh này thêm PySocks, và dùng URL socks5h:// để proxy phân giải tên miền. Proxy HTTP hoạt động mà không cần gói bổ sung nào, nên bạn cũng có thể đổi URL sang http:// và giữ nguyên dependencies.
Tôi có thể chạy nhiều request song song qua một IP không?
Có, trong giới hạn sử dụng hợp lý; chúng tôi không công bố giới hạn kết nối cho mỗi IP. Giữ mức song song hợp lý để ổn định cho chính bạn, và giữ tốc độ của từng trang web: các request song song đến cùng một trang web vẫn bị tính vào giới hạn của nó. Tính phí theo IP trong 30 ngày, không theo GB, theo chính sách sử dụng hợp lý.
Mã của tôi nên gọi URL kiểm tra nào trước?
Gọi https://api.ipify.org hoặc https://httpbin.org/ip: mỗi cái trả về IP mà nó thấy, nên bạn có thể xác nhận rằng lưu lượng đi ra từ proxy của bạn. Sau đó gọi mục tiêu thực của bạn. Nếu URL kiểm tra hoạt động mà mục tiêu thì không, vấn đề nằm giữa proxy và mục tiêu, không phải trong mã của bạn.
Tôi có cần ID để lấy proxy cho các ví dụ này không?
Không. Không cần KYC: không cần ID, không cần ảnh selfie, không cần tài liệu để đăng ký, nạp tiền hoặc mua. Nạp tiền trong BTC, USDT, USDC, ETH, SOL, LTC, mua gói từ 1,29 US$, và sao chép các dòng từ tài khoản của bạn vào các đoạn mã. Xem bảng giá cho mọi kích cỡ gói.
Chạy các ví dụ với IP của riêng bạn
1 IP cho 1,29 US$, bao gồm HTTP và SOCKS5. Không cần KYC, thanh toán bằng crypto.
Tài liệu tham khảo (6)
- trang man của curl — curl project (2026-10-19)
- Requests: Proxy và SOCKS — Requests (2026-10-19)
- aiohttp: Hỗ trợ proxy — aiohttp (2026-10-19)
- undici: ProxyAgent — Node.js (2026-10-19)
- proxy-agents (https-proxy-agent, socks-proxy-agent) — GitHub (2026-10-19)
- Playwright: proxy HTTP — Playwright (2026-10-19)