Proxy ZennoPoster: Gắn proxy cho từng luồng và kiểm tra
Proxy ZennoPoster là cách gắn địa chỉ proxy cho trình duyệt và các yêu cầu HTTP trong phần mềm tự động hoá ZennoPoster, để mỗi luồng chạy với một IP riêng. ZennoPoster là công cụ tự động hoá trình duyệt lâu năm của ZennoLab, được dùng để thu thập dữ liệu, kiểm thử biểu mẫu, tự động hoá thao tác lặp lại trên web. Bài này ProxyVN hướng dẫn cách đặt proxy trong ProjectMaker, lấy proxy từ danh sách cho từng luồng, kiểm tra proxy bằng công cụ tích hợp, xoay proxy theo luồng, lưu ý với ZennoDroid và các lỗi hay gặp. Xem thêm dịch vụ tại ProxyVN.
Tổng quan về proxy ZennoPoster
ZennoPoster gồm hai phần chính. ProjectMaker là nơi xây dựng dự án bằng cách ghi thao tác và nối các khối hành động. ZennoPoster là trình chạy, nạp dự án và chạy nhiều luồng song song theo lịch. Thông tin sản phẩm có ở trang ZennoPoster của ZennoLab.
Khi chạy nhiều luồng trên một máy, mọi luồng mặc định dùng chung IP của máy. Nếu trang đích giới hạn số yêu cầu theo IP, luồng thứ năm, thứ mười sẽ bắt đầu bị chặn hoặc gặp thử thách. Proxy giúp mỗi luồng có IP riêng, giảm tải trên mỗi IP và cho phép kiểm tra nội dung theo vùng.

Dự án tự động hoá dạng khối
Những nơi cần đặt proxy trong ZennoPoster
- Trình duyệt tích hợp: mọi thao tác mở trang, bấm, nhập trong trình duyệt của dự án.
- Yêu cầu HTTP: hành động GET, POST gửi thẳng không qua trình duyệt, nhanh hơn nhiều.
- Hành động gọi API bên ngoài: giải thử thách, gửi dữ liệu sang hệ thống khác, có thể dùng proxy riêng hoặc không.
- ZennoDroid: điều khiển máy ảo Android, proxy đặt ở mức thiết bị.
Proxy ZennoPoster khác gì công cụ tự động hoá khác
ZennoPoster tương tự Browser Automation Studio về cách xây dự án bằng khối và chạy nhiều luồng. Cách đặt proxy trong BAS có ở bài proxy Browser Automation Studio. Điểm khác là ZennoPoster có sẵn trình kiểm tra proxy và quản lý danh sách proxy trong giao diện chạy.
Đặt proxy ZennoPoster cho trình duyệt
Trình duyệt trong dự án ZennoPoster nhận proxy qua cài đặt của instance, tức phiên trình duyệt của luồng.
Đặt proxy bằng hành động trong dự án
Trong ProjectMaker, thêm hành động thuộc nhóm cài đặt trình duyệt, chọn phần proxy, nhập địa chỉ theo dạng giao thức, máy chủ, cổng và tài khoản nếu có. Hành động này phải chạy trước khi mở trang đầu tiên. Đặt proxy sau khi trang đã tải sẽ không áp cho các kết nối đã mở.
Định dạng địa chỉ proxy
ZennoPoster chấp nhận dạng đầy đủ như http://user:matkhau@103.x.x.x:8080 hoặc socks5://user:matkhau@103.x.x.x:1080. Một số chỗ cho phép dạng ngắn host:port:user:pass. Nhà cung cấp mỗi nơi trả proxy một kiểu, cần đổi về định dạng mà dự án đang dùng. Các định dạng phổ biến được giải thích trong bài định dạng proxy.
Proxy HTTP hay SOCKS5
Cả hai đều dùng được với trình duyệt. SOCKS5 xử lý được nhiều loại kết nối hơn, HTTP đơn giản và tương thích rộng. Với trình duyệt, nên chọn loại mà nhà cung cấp ổn định hơn. Khác biệt chi tiết có trong bài proxy HTTP và SOCKS5.
Đồng bộ múi giờ và ngôn ngữ
Proxy chỉ đổi IP. Nếu IP ở Việt Nam mà trình duyệt báo múi giờ, ngôn ngữ của nơi khác, trang đích thấy không khớp. ZennoPoster cho phép đặt múi giờ, ngôn ngữ, định vị của trình duyệt theo vùng của proxy. Lý do cần đồng bộ được giải thích trong bài đồng bộ múi giờ với IP proxy.
Kiểm tra WebRTC
WebRTC có thể làm lộ IP thật dù đã đặt proxy. Kiểm tra cài đặt WebRTC của trình duyệt trong dự án, chọn chế độ thay IP bằng IP của proxy hoặc tắt. Cơ chế rò rỉ có trong bài WebRTC proxy là gì.
Đặt proxy ZennoPoster cho yêu cầu HTTP
Nhiều dự án dùng yêu cầu HTTP trực tiếp thay vì trình duyệt, nhanh hơn và tốn ít tài nguyên hơn. Mỗi hành động GET, POST có ô proxy riêng.
Ô proxy trong hành động GET, POST
Trong cửa sổ cài đặt hành động, có ô nhập proxy. Có thể nhập địa chỉ cố định hoặc dùng biến của dự án. Để trống là đi thẳng bằng IP của máy.
Dùng chung proxy với trình duyệt
Khi dự án vừa dùng trình duyệt vừa gửi yêu cầu HTTP cho cùng một tài khoản, hai phần phải đi qua cùng một proxy. Trang đích thấy phiên đăng nhập đến từ hai IP khác nhau sẽ nghi ngờ. Lưu proxy vào một biến ở đầu luồng, dùng biến đó cho cả trình duyệt và yêu cầu HTTP.
Cookie và proxy
Yêu cầu HTTP trong ZennoPoster có thể dùng chung kho cookie với trình duyệt. Khi đổi proxy giữa chừng mà giữ cookie, trang đích thấy phiên cũ đến từ IP mới. Nếu đổi proxy, cân nhắc xoá cookie hoặc giữ nguyên proxy suốt phiên.
Kiểm tra IP trong dự án
Thêm một yêu cầu GET tới dịch vụ trả về IP ngay sau khi đặt proxy, lưu kết quả vào biến và ghi nhật ký. Nếu IP trả về là IP của máy, proxy chưa được áp. Đây là bước rẻ nhất để phát hiện lỗi sớm.
Lấy proxy ZennoPoster từ danh sách cho mỗi luồng
Khi chạy nhiều luồng, mỗi luồng cần một proxy khác nhau. ZennoPoster quản lý việc này bằng danh sách.

Lấy proxy từ danh sách cho mỗi luồng
Tạo danh sách proxy
Trong ProjectMaker, tạo một danh sách gắn với tệp văn bản chứa proxy, mỗi dòng một proxy. Danh sách có thể dùng chung giữa các luồng, ZennoPoster tự khoá dòng khi một luồng đang đọc để tránh hai luồng lấy cùng lúc.
Lấy một dòng cho luồng
Dùng hành động lấy dòng từ danh sách ở đầu luồng. Có các chế độ lấy dòng đầu, lấy ngẫu nhiên, lấy rồi xoá khỏi danh sách. Với proxy, thường chọn lấy rồi đưa xuống cuối danh sách để xoay vòng đều.
Gán dòng vào biến proxy
Dòng lấy được lưu vào biến, rồi biến này dùng cho hành động đặt proxy trình duyệt và ô proxy của yêu cầu HTTP. Nếu định dạng trong tệp khác định dạng ZennoPoster cần, dùng hành động xử lý chuỗi để tách và ghép lại.
Gắn cố định proxy với tài khoản
Với dự án làm việc trên nhiều tài khoản của chính mình, nên ghép tài khoản và proxy trên cùng một dòng, hoặc lưu bảng tài khoản kèm cột proxy. Mỗi lần chạy, luồng lấy đúng proxy của tài khoản đó. Đổi proxy liên tục cho cùng một tài khoản dễ làm hệ thống của trang đích nghi ngờ. Nguyên tắc này giống bài mỗi profile Chrome một proxy.
Số luồng trên mỗi proxy
Không nên cho quá nhiều luồng cùng dùng một proxy. Con số phù hợp phụ thuộc vào trang đích và loại proxy, cách tính có trong bài 1 proxy chạy được bao nhiêu luồng.
Kiểm tra proxy ZennoPoster bằng công cụ tích hợp
ZennoPoster có sẵn công cụ kiểm tra proxy, giúp lọc proxy chết trước khi đưa vào dự án.

Kiểm tra proxy trước khi chạy
Nạp danh sách cần kiểm tra
Mở công cụ kiểm tra proxy trong giao diện ZennoPoster, nạp tệp danh sách. Công cụ kiểm tra từng proxy có kết nối được không, tốc độ, quốc gia và mức ẩn danh.
Chọn trang kiểm tra
Có thể chọn kiểm tra với trang mặc định hoặc với chính trang đích của dự án. Proxy sống với trang mặc định chưa chắc vào được trang đích, nên kiểm tra với trang đích cho kết quả sát thực tế hơn.
Lọc và xuất kết quả
Giữ lại proxy sống, tốc độ đạt ngưỡng, đúng quốc gia cần. Xuất ra tệp mới làm danh sách cho dự án. Proxy chết để lại trong danh sách khiến luồng mất thời gian chờ rồi lỗi.
Kiểm tra định kỳ
Proxy mua theo tháng thường ổn định, nhưng proxy xoay hay proxy dùng chung có thể chết giữa chừng. Lên lịch kiểm tra lại danh sách trước mỗi đợt chạy lớn. Các công cụ kiểm tra khác có trong bài công cụ kiểm tra proxy.
Kiểm tra độ sạch của IP
Proxy sống chưa đủ, IP có thể đã bị đánh dấu xấu. Kiểm tra IP có trong danh sách đen hay có điểm rủi ro cao không trước khi dùng cho tài khoản quan trọng. Cách làm có trong bài cách kiểm tra proxy sạch.
Xoay proxy ZennoPoster theo luồng
Có hai kiểu xoay proxy phổ biến trong ZennoPoster, chọn theo mục đích dự án.
Xoay bằng danh sách proxy tĩnh
Danh sách gồm nhiều proxy IP tĩnh, mỗi luồng lấy một proxy theo vòng. Cách này cho phép biết chính xác luồng nào dùng IP nào, tiện cho việc gắn proxy với tài khoản.
Xoay bằng proxy xoay có cổng cố định
Nhà cung cấp proxy xoay cấp một địa chỉ cố định, IP phía sau đổi theo thời gian hoặc theo yêu cầu. Dự án chỉ cần một dòng proxy, IP đổi do phía nhà cung cấp. Phù hợp với thu thập dữ liệu không cần giữ phiên.
Đổi IP chủ động qua đường dẫn API
Một số proxy xoay cung cấp đường dẫn để đổi IP khi cần. Dự án gọi đường dẫn này bằng yêu cầu GET ở đầu mỗi luồng hoặc khi gặp chặn, chờ vài giây rồi tiếp tục. Cơ chế được mô tả trong bài API đổi IP proxy xoay.
Giữ phiên với sticky session
Khi cần đăng nhập rồi thao tác nhiều bước, IP đổi giữa chừng sẽ làm mất phiên. Dùng chế độ giữ IP trong một khoảng thời gian, gọi là sticky session. Khái niệm có trong bài sticky session proxy là gì.
Proxy ZennoPoster với ZennoDroid
ZennoDroid là sản phẩm của ZennoLab để tự động hoá trên Android, dùng máy ảo hoặc điện thoại thật. Proxy ở đây được đặt khác với trình duyệt.
Proxy ở mức thiết bị
ZennoDroid cho phép đặt proxy cho thiết bị Android, mọi ứng dụng trên thiết bị đi qua proxy đó. Cách này khác trình duyệt ZennoPoster ở chỗ không thể mỗi tab một proxy, mà mỗi thiết bị một proxy.
Máy ảo Android
Khi dùng máy ảo như LDPlayer, MuMu, proxy có thể đặt trong ZennoDroid hoặc trong chính máy ảo. Không đặt cả hai nơi cùng lúc để tránh đi vòng hai lớp proxy. Cách cài proxy trực tiếp cho máy ảo có trong bài cài proxy cho LDPlayer.
Ứng dụng không theo proxy hệ thống
Một số ứng dụng Android bỏ qua proxy Wi-Fi. Khi đó cần chế độ proxy toàn thiết bị dạng VPN cục bộ. Cách hoạt động của các ứng dụng chuyển hướng như vậy có trong bài Postern.
Proxy di động cho ứng dụng di động
Ứng dụng di động thường tin IP mạng di động hơn IP datacenter. Với dự án ZennoDroid làm việc trên ứng dụng của chính doanh nghiệp, proxy 4G cho môi trường gần với người dùng thật nhất. Đặc điểm loại proxy này có trong bài proxy 4G.
Lỗi proxy ZennoPoster thường gặp và cách sửa

Sửa lỗi proxy khi chạy luồng
Hiện tượng |
Nguyên nhân khả dĩ |
Cách sửa |
|---|---|---|
Trang không tải, hết thời gian chờ |
Proxy chết hoặc sai cổng |
Lọc lại bằng công cụ kiểm tra proxy |
Lỗi 407 |
Sai tài khoản, sai định dạng |
Kiểm tra định dạng user:pass, ký tự đặc biệt |
IP kiểm tra ra IP của máy |
Đặt proxy sau khi đã mở trang |
Đặt proxy ngay đầu luồng |
Hai luồng cùng một IP |
Danh sách không khoá dòng hoặc lấy ngẫu nhiên |
Dùng chế độ lấy rồi đưa xuống cuối |
Trang đích báo truy cập bất thường |
Quá nhiều luồng trên một IP, IP xấu |
Giảm luồng mỗi proxy, đổi IP sạch hơn |
Trình duyệt vào được, yêu cầu HTTP lỗi |
Quên gán proxy cho hành động GET, POST |
Dùng chung biến proxy |
Proxy xoay đổi IP giữa phiên đăng nhập |
Không bật giữ phiên |
Dùng sticky session |
Lỗi do proxy share
Proxy dùng chung với nhiều người có thể bị trang đích chặn từ trước vì người khác lạm dụng. Hiện tượng là proxy sống nhưng trang đích luôn trả thử thách. Đổi sang proxy riêng là cách chắc nhất, so sánh hai loại có trong bài proxy share có an toàn không.
Lỗi 429 và giới hạn tốc độ
Trang đích trả mã 429 khi một IP gửi quá nhiều yêu cầu. Thêm thời gian chờ ngẫu nhiên giữa các bước, giảm số luồng trên mỗi IP. Cơ chế được giải thích trong bài mua proxy bị lỗi 429.
Chọn loại proxy cho ZennoPoster
Mục đích dự án |
Loại proxy gợi ý |
Lý do |
|---|---|---|
Thu thập dữ liệu công khai số lượng lớn |
Proxy xoay hoặc datacenter |
Nhiều IP, chi phí thấp |
Làm việc trên tài khoản của chính mình |
Proxy dân cư tĩnh hoặc IPv4 riêng |
IP cố định, ít bị nghi ngờ |
Kiểm tra nội dung theo vùng |
Proxy đúng quốc gia, tỉnh |
Nội dung hiển thị đúng vùng |
Tự động hoá trên ứng dụng di động |
Proxy 4G |
Giống người dùng di động |
Proxy Việt Nam cho dự án nhắm thị trường Việt Nam
Trang thương mại điện tử, mạng xã hội trong nước phân biệt IP Việt Nam và IP nước ngoài. Dùng IP Việt Nam giúp nội dung hiển thị đúng và ít bị thử thách. Nếu cần proxy Việt Nam ổn định cho ZennoPoster, anh em có thể mua proxy tại ProxyVN, mỗi proxy hỗ trợ cả HTTP và SOCKS5.
Đo tỷ lệ thành công
Ghi nhật ký số luồng thành công, số luồng lỗi theo từng proxy. Proxy có tỷ lệ lỗi cao nên được thay. Cách đo được giải thích trong bài proxy success rate.
Sử dụng proxy ZennoPoster có trách nhiệm
Proxy giúp chia tải và kiểm tra theo vùng, nhưng không phải công cụ để làm trái điều khoản của nền tảng.
Tôn trọng điều khoản trang đích
Nhiều nền tảng cấm tạo tài khoản hàng loạt, tự động gửi nội dung rác, giả mạo tương tác. Dùng ZennoPoster với proxy để làm những việc này có thể dẫn tới khoá tài khoản và rủi ro pháp lý. Tập trung vào tác vụ hợp lệ như thu thập dữ liệu công khai, kiểm thử trang của chính mình, tự động hoá công việc nội bộ.
Giới hạn tốc độ hợp lý
Thu thập dữ liệu với tốc độ vừa phải, tuân thủ tệp robots.txt và giới hạn của trang đích. Gửi quá nhiều yêu cầu làm quá tải máy chủ của người khác.
Bảo vệ dữ liệu
Dữ liệu thu thập có thể chứa thông tin cá nhân. Lưu trữ an toàn, chỉ giữ phần cần thiết, tuân thủ quy định về dữ liệu cá nhân.
Quản lý proxy ZennoPoster khi chạy lâu dài
Dự án chạy hàng ngày, hàng tuần cần quy trình quản lý proxy để không phải sửa tay liên tục.
Tách tệp proxy theo mục đích
Mỗi dự án hoặc nhóm tài khoản một tệp proxy riêng. Tránh hai dự án dùng chung tệp làm một IP bị dùng quá tải mà không biết.
Ghi nhật ký theo proxy
Mỗi luồng ghi lại proxy đã dùng, thời gian, kết quả. Sau một tuần, lọc được proxy nào hay lỗi, proxy nào ổn. Dữ liệu này giúp quyết định gia hạn hay đổi nhà cung cấp.
Thông báo khi proxy chết
Thêm nhánh xử lý lỗi gửi thông báo qua Telegram hay email khi tỷ lệ lỗi của một proxy vượt ngưỡng. Phát hiện sớm giúp thay proxy trước khi cả đợt chạy thất bại. Dấu hiệu cần thay proxy có trong bài dấu hiệu cần thay proxy.
Gia hạn và đổi IP
Ghi lịch hết hạn của từng gói proxy. Khi đổi IP, cập nhật tệp danh sách và kiểm tra lại bằng công cụ tích hợp trước khi chạy.
Cấu hình máy chạy ZennoPoster ổn định với proxy
Proxy tốt mà máy chạy yếu thì luồng vẫn lỗi. Một số điểm cần cân đối giữa số luồng, tài nguyên máy và proxy.
Tài nguyên cho mỗi luồng trình duyệt
Mỗi luồng trình duyệt tốn bộ nhớ và CPU đáng kể. Chạy quá nhiều luồng trên máy cấu hình thấp làm trang tải chậm, hết thời gian chờ, dễ nhầm là lỗi proxy. Bắt đầu với số luồng nhỏ, tăng dần và theo dõi tài nguyên.
Chạy trên VPS
Nhiều người chạy ZennoPoster trên máy chủ ảo Windows để chạy liên tục. IP của VPS là IP datacenter, nên proxy vẫn cần thiết khi trang đích phân biệt loại IP. Mối quan hệ giữa VPS và proxy có trong bài proxy và VPS.
Băng thông đường truyền
Luồng trình duyệt tải ảnh, video, mã JavaScript tốn băng thông cả phía máy và phía proxy. Tắt tải ảnh, chặn tài nguyên không cần thiết trong cài đặt trình duyệt của dự án giúp nhanh hơn và tiết kiệm lưu lượng nếu proxy tính theo dung lượng.
Thời gian chờ hợp lý
Đặt thời gian chờ tải trang vừa đủ, không quá ngắn làm luồng lỗi oan khi proxy chậm một chút, không quá dài làm luồng treo khi proxy chết. Kết hợp với số lần thử lại có giới hạn.
Tài liệu và cộng đồng hỗ trợ proxy ZennoPoster
Khi gặp tình huống proxy khó, tài liệu và cộng đồng của ZennoLab là nguồn tham khảo đáng tin hơn hướng dẫn rải rác trên mạng.
Trang chủ và tài liệu
Trang chủ ZennoLab có liên kết tới tài liệu, bản cập nhật và mô tả từng sản phẩm. Mỗi bản cập nhật có thể đổi tên hành động hoặc thêm tuỳ chọn proxy mới, nên đọc ghi chú phiên bản trước khi nâng cấp dự án đang chạy ổn.
Diễn đàn người dùng
Diễn đàn ZennoLab có nhiều chủ đề về proxy, danh sách, xoay IP. Trước khi hỏi, tìm theo thông báo lỗi cụ thể, phần lớn tình huống đã có người gặp.
Hiểu cơ chế đường hầm
Proxy HTTP mở kết nối HTTPS bằng lệnh CONNECT, tạo đường hầm từ trình duyệt tới máy chủ đích. Hiểu cơ chế này giúp đọc lỗi kết nối đúng hơn, tài liệu có ở trang Proxy servers and tunneling của MDN.
Thuật ngữ proxy
Tài liệu tiếng Anh dùng nhiều từ như rotating, sticky, residential, datacenter. Bảng giải thích tiếng Việt có trong bài thuật ngữ proxy.
Thử nghiệm trên dự án nhỏ trước
Trước khi áp cấu hình proxy mới cho dự án lớn, tạo một dự án thử chỉ gồm ba bước: đặt proxy, mở trang kiểm tra IP, ghi kết quả. Chạy với vài luồng để xác nhận định dạng, tài khoản và cách lấy dòng từ danh sách đều đúng. Khi dự án thử chạy ổn, sao chép khối đặt proxy sang dự án chính. Cách này tiết kiệm nhiều thời gian so với gỡ lỗi trong dự án dài hàng trăm khối.
Câu hỏi thường gặp về proxy ZennoPoster
ZennoPoster có hỗ trợ proxy SOCKS5 không
Có. Trình duyệt và yêu cầu HTTP trong ZennoPoster đều nhận được proxy SOCKS5 khi ghi đúng định dạng với tiền tố socks5.
Mỗi luồng ZennoPoster có cần một proxy riêng không
Nên có, nhất là khi làm việc trên nhiều tài khoản hoặc gửi nhiều yêu cầu tới cùng một trang. Thu thập dữ liệu nhẹ có thể cho vài luồng dùng chung một proxy.
Vì sao đã đặt proxy mà trang vẫn thấy IP thật
Thường do đặt proxy sau khi trang đã mở, hoặc WebRTC làm lộ IP, hoặc quên gán proxy cho yêu cầu HTTP. Kiểm tra IP ngay sau bước đặt proxy để khoanh vùng.
Có dùng proxy miễn phí cho ZennoPoster được không
Không nên. Proxy miễn phí chết liên tục, chậm và thường đã bị trang đích chặn. Rủi ro an toàn được nói trong bài proxy miễn phí có an toàn không.
ZennoPoster và BAS nên chọn công cụ nào
Cả hai đều mạnh trong tự động hoá trình duyệt với proxy. Lựa chọn phụ thuộc vào ngân sách, ngôn ngữ giao diện, cộng đồng hỗ trợ và thói quen của người làm dự án. Cách đặt proxy về nguyên tắc tương tự nhau.
Tổng kết
Proxy ZennoPoster cần đặt ở đầu mỗi luồng, dùng chung một biến cho cả trình duyệt và yêu cầu HTTP. Lấy proxy từ danh sách với chế độ xoay vòng, gắn cố định proxy với tài khoản khi làm việc nhiều bước, lọc proxy chết bằng công cụ kiểm tra tích hợp và kiểm tra lại độ sạch của IP. Đồng bộ múi giờ, ngôn ngữ, chặn rò rỉ WebRTC và giữ số luồng trên mỗi IP ở mức hợp lý. Cần proxy Việt Nam ổn định cho dự án tự động hoá, anh em liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam để được tư vấn.