URL proxy#
Mỗi thư viện HTTP Python nhận proxy làm URL. Với proxy phím, URL chứa thông tin của bạn và địa chỉ Mạng Mục tiêu trong tên người dùng; tên máy là cổng ra và cổng chọn giao thức.
# Rotating: a new United States household on every new connection
http://USER-cc-us:PASS@res.proxy-cyber.com:9000
# Sticky: one Berlin household held for 30 minutes under the id "job42"
http://USER-cc-de-city-berlin-sid-job42-ttl-30m:PASS@res.proxy-cyber.com:9000
# SOCKS5 with remote DNS (socks5h), same parameters
socks5h://USER-cc-us:PASS@res.proxy-cyber.com:9001yêu cầu#
Dùng lại thông tin kết nối và địa chỉ IP là điều khiển khác nhau. Một phiên chạy khách sử dụng lại ổ cắm; chỉ cửa đã gán quyết định độ xoay và cách gọi dính. Dùng tham số phiên chạy được cung cấp bằng dịch vụ của bạn, và kiểm tra lối thoát qua vài yêu cầu. Đóng ổ cắm hoặc gửi: đóng kết nối không bảo đảm một IP khác.
import requests
PROXY = "http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
proxies = {"http": PROXY, "https": PROXY}
# One request, one exit
r = requests.get("https://api.ipify.org", proxies=proxies, timeout=30)
print(r.text)
# A sticky flow: same exit for every request of this session
sticky = "http://USER-cc-de-city-berlin-sid-cart42-ttl-15m:PASS@res.proxy-cyber.com:9000"
s = requests.Session()
s.proxies = {"http": sticky, "https": sticky}
s.get("https://example.com/product/1", timeout=30)
s.post("https://example.com/cart", json={"id": 1}, timeout=30)httpx#
httpx lấy một proxy= đối số ( Phiên bản cũ: proxies=Nó hỗ trợ HTTP/2 đến đích thông qua đường hầm CONNECT và hoạt động theo cùng một cách trong một quy tắc đặc trưng.
import httpx
PROXY = "http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
with httpx.Client(proxy=PROXY, timeout=30) as client:
print(client.get("https://api.ipify.org").text)
# async, one sticky exit per task
import asyncio
async def fetch(sid: str, url: str) -> str:
proxy = f"http://USER-cc-us-sid-{sid}-ttl-10m:PASS@res.proxy-cyber.com:9000"
async with httpx.AsyncClient(proxy=proxy, timeout=30) as client:
return (await client.get(url)).text
asyncio.run(fetch("task1", "https://api.ipify.org"))aiohtp#
aiohtp lấy proxy cho mỗi yêu cầu hoặc mỗi phiên chạy và nói tiếng HTTP cho phép bản địa; SOCKS5 cần thiết aiohttp-socks Kết nối.
import aiohttp, asyncio
PROXY = "http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
async def main():
async with aiohttp.ClientSession() as session:
async with session.get("https://api.ipify.org", proxy=PROXY, timeout=aiohttp.ClientTimeout(total=30)) as r:
print(await r.text())
asyncio.run(main())Xoay, giữ sống và lùi#
- Kết nối TCP mới là một kết nối giao thông mới, không phải bằng chứng về lối thoát mới. Chế độ xoay của cổng ra được chỉ định quyết định xem sự kết nối đó được định như thế nào.
- Dùng bộ nhận diện phiên chạy riêng cho mỗi luồng làm việc độc lập, nơi mà cổng được chỉ định hỗ trợ nó. Xác nhận khoảng thời gian và thông số vị trí cho phép trong chi tiết kết nối của bạn. Một thiết bị cư trú có thể ngắt kết nối trước khi yêu cầu; một phiên chạy dính không phải là bảo đảm cùng một IP trong ngày. Đối với địa chỉ cố định, hãy so sánh một sản phẩm tĩnh đã đóng.
- Phân loại câu trả lời trước khi thử lại. Một chương trình 403 có thể ngụ ý một quy tắc truy cập khác sẽ không giải quyết. Đối với 429, tôn trọng rery- Sau và giảm tốc độ yêu cầu; sử dụng bị hạn chế để kết nối tạm thời hay máy phục vụ thất bại. Hãy thử lại chỉ khi bạn có khả năng ngăn chặn hành động lặp lại.
- Đặt thời gian nghỉ cho kiểu thoát hiểm: 15 s kết nối và 45 s đọc cho cư dân, nhiều hơn cho điện thoại di động.
Đang lưu Giabytes#
Số lượng giao thông được tính theo số điểm trên mỗi điểm trong cả hai hướng.Accept-Encoding: gzip, br được bật theo mặc định trong các thư viện này, thích JSON endpoints hơn HTML, và không bao giờ tải về ảnh, phông chữ hay phương tiện khác trừ khi chúng là dữ liệu. Một trang KB 350 thì rẻ; một trang 4 MB có tài sản không phải.
Người ta thắc mắc#
Tại sao tôi cứ nhận được cùng IP với yêu cầu?
Địa chỉ IP lặp lại có thể kết nối từ hồ sơ kết nối, một phiên chạy dính hoạt động hoặc một hồ bơi sẵn sàng. So sánh chế độ định tuyến đã chỉ định và thử ra nhiều yêu cầu bằng nhãn thời gian. Một yêu cầu quản lý kết nối và cookie; nó không tự chọn lối thoát proxy.
Tôi có cần proxy khác cho trang HTTPS không?
Không. Cùng địa chỉ URL proxy http vội của KDE điều khiển đích HTTPS thông qua một đường hầm CONNECT; hệ thống này chạy kết thúc để kết thúc giữa mã của bạn và nơi Mạng.
Tôi có thể sử dụng mã tương tự cho điện thoại di động không?
Có: thay thế res.key-poxy.com với Mafia.key-poxy.com. Ports, giấy proxy và thông số giống hệt nhau.