Giải thưởng lớn

GIẢI THƯỞNG LỚN TỪ CYBERYOZH APP.

Chiến thắng Apple MacBook, $2000, iPad và rất nhiều giải thưởng khác!

Tham gia










Cài đặt xoay proxy trong Python bằng thư viện requests (để phân tích cú pháp).

Trong lĩnh vực thu thập dữ liệu (parsing) truyền thống, các lập trình viên thường mất hàng giờ để viết trình quản lý xoay vòng: phải tải danh sách 1000 IP, kiểm tra tính hợp lệ, loại bỏ các IP bị chặn và đảm bảo IP không bị trùng lặp.

Tại CyberYozh App, chúng tôi đã thay đổi cuộc chơi. Bạn không cần danh sách proxy. Bạn chỉ cần một địa chỉ duy nhất tự động thay đổi IP cho bạn. Mọi "phép thuật" cấu hình không nằm trong mã nguồn mà nằm trong Trình tạo thông tin đăng nhập (Creds Generator - dành cho proxy dân cư xoay vòng) của chúng tôi.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thiết lập xoay vòng tự động và Sticky-session trong Python chỉ trong 3 phút bằng cách sử dụng Proxy dân cư của chúng tôi.


🛠 Phần 1. Chuẩn bị trong CyberYozh App

Trước khi mở PyCharm, hãy truy cập vào bảng điều khiển cá nhân. Chúng ta cần lấy quyền truy cập chính xác. Trong mục «Proxy của tôi», hãy nhấn nút «Tạo thông tin đăng nhập».

Nút "Tạo thông tin đăng nhập" trong bảng điều khiển cá nhân.

Hình 1. Nút "Tạo thông tin đăng nhập" (creds) trong bảng điều khiển cá nhân.

Tại đây bạn quản lý logic hoạt động của proxy. Chúng tôi có 3 chế độ thay đổi cách thức proxy hoạt động trong mã của bạn:

  1. IP ngẫu nhiên (Random / -res-any): Mỗi yêu cầu mới = Một IP mới. Lý tưởng để theo dõi giá cả, thu thập dữ liệu.

  2. Phiên ngắn (Targeting): IP được giữ tối đa 1 phút. Cần thiết cho công việc chính xác tại một thành phố/bang cụ thể.

  3. Phiên dài (Long / -resfix): IP được cố định cho bạn trong tối đa 6 giờ (Sticky Session). Lý tưởng để đăng nhập vào các trang web mà không bị đăng xuất.

Mục chọn loại phiên trong trình tạo: ngẫu nhiên, ngắn và dài

Hình 2. Mục chọn loại phiên trong trình tạo: ngẫu nhiên, ngắn và dài.

Nút tạo dữ liệu kết nối.

Hình 3. Nút tạo dữ liệu kết nối.

⚠️ Lưu ý quan trọng về cổng (port): Khác với các dịch vụ khác, chúng tôi chia tách các cổng để đảm bảo tính ổn định:

  • Đối với thư viện requests (HTTP/HTTPS), hãy sử dụng cổng 5959.

  • Đối với các ứng dụng SOCKS5, hãy sử dụng cổng 9595.

👉 Tìm hiểu thêm về cơ chế xoay vòng cho proxy dân cư tại đây.


💻 Phần 2. Kịch bản «Parsing»: Tự động xoay vòng (Random IP)

Nhiệm vụ: Thực hiện 10 yêu cầu đến một trang web sao cho mỗi lần trang web đều thấy bạn là một người dùng mới. Trước đây bạn cần danh sách 10 proxy. Với CyberYozh App, bạn chỉ cần một dòng mã với tiền tố -res-any.

 

import requests

# Dữ liệu từ Trình tạo (Chế độ Random IP)
# Lưu ý sử dụng cổng 5959 cho HTTP!
PROXY_HOST = "51.77.190.247"
PROXY_PORT = "5959"
PROXY_USER = "pcJcWhGag4-res-any" # Tiền tố -res-any kích hoạt chế độ xoay vòng
PROXY_PASS = "mat_khau_cua_ban"

proxy_url = f"http://{PROXY_USER}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}"

proxies = {
    "http": proxy_url,
    "https": proxy_url
}

url = "https://httpbin.org/ip" # Trang web hiển thị địa chỉ IP của chúng ta

print("--- Bắt đầu parsing với cơ chế xoay vòng ---")

for i in range(5):
    try:
        # Mỗi lần gọi cùng một liên kết, CyberYozh sẽ cung cấp một IP mới
        response = requests.get(url, proxies=proxies, timeout=10)
        current_ip = response.json()['origin']
        print(f"Yêu cầu {i+1}: IP bên ngoài của bạn -> {current_ip}")
    except Exception as e:
        print(f"Lỗi: {e}")

 


🚀 Phần 3. Kịch bản «Tài khoản»: Phiên Sticky (Long Session)

Nhiệm vụ: Đăng nhập vào trang web và duyệt các trang nội bộ trong 30 phút mà không đổi IP để tránh bị khóa tài khoản do hoạt động nghi ngờ.

Trong trình tạo CyberYozh App, hãy chọn «Phiên dài». Hệ thống sẽ cấp cho bạn tên đăng nhập kèm mã token duy nhất (ví dụ: ...-resfix-us-nnid-9d016...). Miễn là bạn sử dụng tên đăng nhập này, IP sẽ được giữ nguyên (lên đến 6 giờ).

 

import requests

# Dữ liệu từ Trình tạo (Chế độ Long Session)
# Tên đăng nhập trở nên dài hơn vì có nhúng ID phiên
PROXY_USER = "pcJcWhGag4-resfix-us-nnid-9d016abcd" 
PROXY_PASS = "mat_khau_cua_ban"
PROXY_HOST = "51.77.190.247"
PROXY_PORT = "5959"

proxy_url = f"http://{PROXY_USER}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}"

# Sử dụng requests.Session để lưu giữ cookies và headers
session = requests.Session()
session.proxies = {
    "http": proxy_url,
    "https": proxy_url
}
# Giả lập trình duyệt
session.headers.update({
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)..."
})

print("--- Làm việc trong cùng một phiên ---")

# Bước 1. Truy cập trang chủ (lấy IP)
r1 = session.get("https://httpbin.org/ip")
ip1 = r1.json()['origin']
print(f"Bước 1: IP của chúng ta là {ip1}")

# Bước 2. Thực hiện hành động (IP phải được giữ nguyên)
r2 = session.get("https://httpbin.org/ip")
ip2 = r2.json()['origin']
print(f"Bước 2: IP của chúng ta là {ip2}")

if ip1 == ip2:
    print("Thành công! Phiên được giữ nguyên, có thể làm việc an toàn với tài khoản.")
else:
    print("Chú ý! IP đã thay đổi (hãy kiểm tra cài đặt trình tạo).")

 


📱 Phần 4. Proxy di động (Private 4G/LTE): Điều khiển modem qua mã nguồn

Với proxy Dân cư xoay vòng, mọi thứ rất đơn giản: bạn gọi một liên kết và hệ thống tự động cấp IP mới. Với Proxy di động riêng (Private), cơ chế sẽ khác. Bạn có một modem USB thực tế. Để đổi IP, modem này cần được khởi động lại vật lý (kết nối lại với trạm phát sóng).

Trong CyberYozh App, đối với các cổng riêng (kênh), chúng tôi cung cấp một liên kết API đặc biệt. Nếu truy cập liên kết này, modem sẽ tự khởi động lại.

Lưu ý quan trọng: Việc đổi IP trên proxy di động mất thời gian (10-20 giây). Nếu script của bạn không biết chờ đợi, nó sẽ gặp lỗi ConnectionError.

Liên kết đổi địa chỉ IP trong thẻ proxy di động riêng (Private).

Hình 4. Liên kết đổi địa chỉ IP trong thẻ proxy di động riêng (Private).

Triển khai hàm Reboot (Đổi IP)

Chúng ta sẽ viết một hàm gọi liên kết API và tạm dừng script trong khi modem tìm kiếm trạm phát sóng mới.

 

import requests
import time

# --- CÀI ĐẶT TỪ BẢNG ĐIỀU KHIỂN CYBERYOZH APP ---
MOBILE_PROXY = "http://LOGIN:PASS@IP:PORT" # Thông tin đăng nhập của bạn
ROTATION_LINK = "https://app.cyberyozh.com/api/v1/..." # Liên kết từ trường «Liên kết đổi địa chỉ IP»

def change_mobile_ip(api_link):
    """
    Hàm khởi động lại modem di động.
    """
    print(f"♻️ Đang bắt đầu đổi IP...")
    try:
        # 1. Gửi tín hiệu khởi động lại
        r = requests.get(api_link)
        
        if r.status_code == 200:
            print("✅ Lệnh đã được modem chấp nhận.")
        else:
            print(f"⚠️ Lỗi API: {r.status_code}")
            return False

        # 2. THỜI ĐIỂM QUAN TRỌNG: Chờ khởi động lại
        # Modem cần thời gian để ngắt kết nối và tìm trạm phát mới.
        # Thông thường mất khoảng 10-20 giây.
        wait_time = 15
        print(f"⏳ Đang chờ {wait_time} giây để modem kết nối lại...")
        time.sleep(wait_time)
        return True
        
    except Exception as e:
        print(f"Lỗi khi gọi API: {e}")
        return False

# --- VÍ DỤ SỬ DỤNG ---

proxies = {"http": MOBILE_PROXY, "https": MOBILE_PROXY}

# Bước 1. Làm việc với IP hiện tại
try:
    ip_old = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10).json()['origin']
    print(f"IP cũ: {ip_old}")
except:
    print("Proxy hiện chưa sẵn sàng hoặc lỗi mạng.")

# Bước 2. Đổi IP (nếu bị chặn hoặc kết thúc vòng lặp)
change_mobile_ip(ROTATION_LINK)

# Bước 3. Kiểm tra IP mới
try:
    # Quan trọng: lỗi có thể xảy ra ở đây nếu 15 giây là chưa đủ.
    # Tốt nhất nên thêm vòng lặp thử lại (retries) như ở Phần 3.
    ip_new = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10).json()['origin']
    print(f"IP mới: {ip_new}")
except Exception as e:
    print("Modem chưa kịp hoạt động, hãy thử tăng thời gian time.sleep()")

 

💡 Mẹo (Lifehack): Passive OS Fingerprint (Giả lập dấu vân tay hệ điều hành)

Với chủ sở hữu gói Private trên CyberYozh App, bạn có một tính năng cực hay — Passive OS Fingerprint. Nếu bạn đang parsing phiên bản di động của trang web (ví dụ Instagram hoặc TikTok), trang web sẽ kiểm tra các tiêu đề TCP/IP. Sẽ rất lạ nếu User-Agent của bạn nói "Tôi là iPhone" nhưng các gói tin mạng lại báo "Tôi là Windows Server".

Để tăng độ tin cậy, hãy đồng bộ hóa các tiêu đề trong Python:

 

headers = {
    # User-Agent này phải khớp với cài đặt Fingerprint trong bảng điều khiển CyberYozh!
    "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)..."
}

# Nếu trong bảng điều khiển đã bật cấu hình "iOS" và bạn gửi tiêu đề này —
# trang web sẽ thấy bạn là một người dùng iPhone thực thụ 100% đang dùng mạng LTE.

 

⚠️ Cảnh báo quan trọng cho proxy Shared

Nếu bạn mua gói Proxy di độngShared (Dùng chung), mã nguồn sử dụng liên kết API ở trên sẽ không hoạt động.

  • Tại sao: Trên một modem dùng chung còn có nhiều người khác. Nếu bạn khởi động lại nó, họ sẽ mất mạng.

  • Cách làm việc: Chỉ cần thực hiện các yêu cầu trong vòng lặp while True. Hệ thống sẽ tự động đổi IP theo thời gian (mỗi 5-10 phút). Bạn chỉ cần xử lý lỗi kết nối tại các thời điểm đổi IP.

👉 Tìm hiểu thêm về proxy di động tại đây.


🛡 Phần 5. Các lỗi thường gặp khi tích hợp

Ngay cả với một công cụ tiện lợi như vậy, đôi khi vẫn có trục trặc. Dưới đây là 3 vấn đề hàng đầu mà khách hàng thường gửi tới bộ phận hỗ trợ của chúng tôi và cách giải quyết trong mã nguồn:

  1. Lỗi ProxyError hoặc kết nối bị ngắt:

    • Nguyên nhân: Bạn nhầm lẫn các cổng.

    • Giải pháp: Hãy kiểm tra xem trong Python requests bạn đã dùng đúng cổng 5959 (HTTP) chưa. Cổng 9595 chỉ dành cho các ứng dụng SOCKS (như Telegram hoặc Proxifier), thư viện requests hoạt động không ổn định với SOCKS5 nếu không có mô-đun bổ sung.

  2. IP thay đổi quá thường xuyên (trong chế độ Sticky):

    • Nguyên nhân: Bạn sử dụng tên đăng nhập -res-any thay vì mã token đã được tạo.

    • Giải pháp: Quay lại Trình tạo, chọn «Phiên dài» và sao chép toàn bộ chuỗi tên đăng nhập kèm mã token nnid.

  3. Authentication Failed (Xác thực thất bại):

    • Nguyên nhân: Dư thừa khoảng trắng.

    • Giải pháp: Khi sao chép từ bảng điều khiển, đôi khi có một khoảng trắng vô hình bị dính vào cuối tên đăng nhập hoặc mật khẩu. Hàm strip() trong Python sẽ giúp bạn giải quyết vấn đề này:

       
      PROXY_USER = "pcJcWhGag4-res-any ".strip() # Loại bỏ khoảng trắng dư thừa
      

       


Kết luận

Sử dụng Proxy dân cư xoay vòng và Proxy di động riêng từ CyberYozh App giúp bạn không còn phải tự viết các trình xoay vòng mã nguồn phức tạp.

  • Cần thu thập dữ liệu (parsing)? Sử dụng tiền tố any để có hàng triệu IP.

  • Cần nuôi tài khoản? Sử dụng tiền tố fix để có sự ổn định tuyệt đối.

👉 Thử ngay bây giờ: Truy cập mục «Proxy của tôi», tạo thông tin đăng nhập cho Proxy dân cư xoay vòng hoặc sử dụng liên kết đổi IP cho Proxy di động riêng và chạy mã nguồn ở trên.