Ngôn ngữ / SDK
Thiết Lập Proxy WeProxy Cho Python
Cách phổ biến để dùng proxy trong Python là thư viện requests. Giữ thông tin đăng nhập ngoài mã nguồn và tải từ biến môi trường. Ví dụ HTTP tunnel và SOCKS5 ở bên dưới.
One of the most common ways to use a proxy in Python projects is the requests library. You can apply a proxy to a single request, a session, or all compatible requests through environment variables. This guide shows HTTP and SOCKS5 examples for a WeProxy connection.
Requirements
Install Python 3 and the Requests library:
python -m pip install requests
If you will use SOCKS5, install the extra dependencies:
python -m pip install "requests[socks]"
From the WeProxy panel, get the host, port, username, password, and the protocol your product supports.
Preparing Environment Variables
Keep credentials in the operating system’s environment variables instead of writing them into source code.
macOS/Linux:
export WEPROXY_HOST="PROXY_HOST"
export WEPROXY_PORT="PROXY_PORT"
export WEPROXY_USERNAME="PROXY_USERNAME"
export WEPROXY_PASSWORD="PROXY_PASSWORD"
PowerShell:
$env:WEPROXY_HOST="PROXY_HOST"
$env:WEPROXY_PORT="PROXY_PORT"
$env:WEPROXY_USERNAME="PROXY_USERNAME"
$env:WEPROXY_PASSWORD="PROXY_PASSWORD"
These variables are examples only. In production, use a secret manager and do not commit .env files to Git.
Using an HTTP Proxy with Requests
import os
from urllib.parse import quote
import requests
host = os.environ["WEPROXY_HOST"]
port = os.environ["WEPROXY_PORT"]
username = quote(os.environ["WEPROXY_USERNAME"], safe="")
password = quote(os.environ["WEPROXY_PASSWORD"], safe="")
proxy_url = f"http://{username}:{password}@{host}:{port}"
proxies = {
"http": proxy_url,
"https": proxy_url,
}
response = requests.get(
"https://api.ipify.org?format=json",
proxies=proxies,
timeout=30,
)
response.raise_for_status()
print(response.json())
A proxy URL that starts with http:// does not mean you cannot reach HTTPS destinations. Requests can tunnel HTTPS targets through an HTTP proxy. If your panel specifies a different scheme, follow the product details.
Using a Proxy with a Requests Session
To reuse the same setting across multiple requests, you can create a Session:
with requests.Session() as session:
session.proxies.update(proxies)
response = session.get("https://api.ipify.org?format=json", timeout=30)
response.raise_for_status()
print(response.json())
According to the Requests docs, proxy values in the system environment can override session.proxies. When you need a definite proxy choice, passing proxies=proxies directly on each request is more predictable.
Using a SOCKS5 Proxy
proxy_url = f"socks5h://{username}:{password}@{host}:{port}"
proxies = {
"http": proxy_url,
"https": proxy_url,
}
response = requests.get(
"https://api.ipify.org?format=json",
proxies=proxies,
timeout=30,
)
print(response.json())
With socks5h://, domain name resolution happens on the proxy side. With socks5://, DNS resolution happens on the client side.
Python Proxy Errors
407 Proxy Authentication Required
The username or password is wrong. Check that special characters were URL-encoded and that the product supports username/password authentication.
ProxyError or connection timeout
Verify the host, port, protocol, and package status. If the destination does not support IPv6, a connection with an IPv6 proxy may fail.
The real IP is visible
Confirm that the proxies dictionary was passed to the request. A NO_PROXY environment variable may be excluding the destination domain.
Source
- Requests documentation: Proxies
- Runnable example: weproxy-io/python-proxy
Tích hợp khác
Đang xem công cụ khác?
Bắt Đầu
Kết nối với WeProxy ngay
Tạo tài khoản, dùng ngay 100 MB traffic residential miễn phí và làm theo các bước ở trên trong thiết lập của bạn.










