Cách sử dụng Axios với Proxy: Hướng dẫn đầy đủ 2026
Tóm tắt
Cấu hình proxy Axios là một tính năng của Node.js. Axios ở phía trình duyệt không thể chọn proxy outbound vì trình duyệt sở hữu ngăn xếp mạng.
Axios 1.19.0 chấp nhận một đối tượng proxy với protocol, host, port, và auth tùy chọn. Đặt thời gian chờ và xác thực nội dung trả về, không chỉ trạng thái.
Các biến môi trường HTTP_PROXY, HTTPS_PROXY, và NO_PROXY chuẩn hoạt động trong Node.js. Đặt proxy: false khi một Agent tùy chỉnh phải là cơ chế định tuyến duy nhất.
Các khách hàng theo vòng tròn làm cho việc chọn proxy trở nên rõ ràng. Thêm thông tin về sức khỏe của điểm cuối, thời gian làm mát, và một ngân sách thử nghiệm hữu hạn trước khi tăng khối lượng.
Sử dụng một Agent cho các giao thức hoặc chính sách tunneling bên ngoài đường dẫn proxy HTTP tích hợp của Axios. Khớp HttpProxyAgent, HttpsProxyAgent, hoặc SocksProxyAgent với điểm cuối thực tế.
Proxy Axios là gì?
Proxy Axios là một trung gian được cấu hình cho adapter Node.js của Axios để các yêu cầu đi qua một điểm cuối mạng đã chỉ định. cấu hình yêu cầu chính thức của Axios xác định một tùy chọn proxy chỉ có trong Node.js với giao thức proxy, tên máy chủ, cổng, và thông tin xác thực cơ bản tùy chọn.
Trải nghiem Nstproxy - Bat dau dung thu mien phi ngay
Axios vẫn xử lý cấu hình yêu cầu, các lời hứa, phân tích phản hồi, thời gian chờ, hành vi chuyển tiếp, và các lỗi. Proxy thay đổi tuyến đường giữa quy trình Node.js và đích đến. Một điểm cuối tiêu chuẩn như Nstproxy Residential Prime Proxies có thể kết nối qua đối tượng proxy Axios bình thường mà không cần gói JavaScript cụ thể cho nhà cung cấp.
Ranh giới của trình duyệt rất quan trọng. Axios chạy trên một trang web sử dụng một adapter trình duyệt, và JavaScript không thể chọn một proxy outbound theo hệ thống hoặc theo yêu cầu. Thay vào đó, cấu hình trình duyệt, hệ điều hành, tiện ích mở rộng, thử nghiệm, hoặc proxy ngược. Một trường proxy trong máy chủ phát triển React cũng là một tính năng của công cụ xây dựng, không phải là thiết lập yêu cầu Node.js của Axios được mô tả ở đây.
Sử dụng proxy Axios cho các kiểm tra API có quyền hạn, QA địa phương hóa, theo dõi giá, quy trình dữ liệu công cộng, và kiểm soát ra khỏi máy chủ. Một proxy không cấp quyền truy cập cho đích hoặc đảm bảo rằng phản hồi thành công có chứa dữ liệu mong muốn.
Cách hoạt động định tuyến proxy Axios trong Node.js
Định tuyến proxy Axios có ba điểm kiểm soát: một đối tượng proxy rõ ràng, các biến môi trường chuẩn, hoặc một Agent tùy chỉnh. Chọn một cơ chế chính cho mỗi yêu cầu để tuyến đường vẫn có thể kiểm tra được.
Cơ chế
Phù hợp nhất
Ranh giới quan trọng
proxy: { protocol, host, port }
Cấu hình proxy HTTP hoặc HTTPS chuẩn
Chỉ dành cho adapter Node.js
HTTP_PROXY / HTTPS_PROXY
Định tuyến được quản lý bởi triển khai
NO_PROXY có thể bỏ qua các máy chủ đã chọn
httpAgent / httpsAgent
Tunneling tùy chỉnh, chính sách kết nối, hoặc SOCKS
Đặt proxy: false để tránh xử lý kép
Tài liệu hiện tại của Axios nêu rằng một cổng HTTP có thể thiết lập các đường hầm CONNECT cho các đích HTTPS và rằng thông tin xác thực proxy được gửi trong quá trình trao đổi proxy. Hãy giữ xác thực TLS nguồn gốc được kích hoạt. Nếu một tuyến kiểm tra hợp lệ sử dụng CA riêng tư, hãy cài đặt CA đã được phê duyệt thay vì vô hiệu hóa việc kiểm tra chứng chỉ.
Các bản phát hành chính thức của Axios liệt kê v1.19.0 là bản phát hành mới nhất tại thời điểm kiểm tra. Bài viết này gán phiên bản đó vì các bản phát hành gần đây đã thay đổi hành vi proxy, chuyển tiếp, giải thích lỗi, và adapter Node.js.
Điều kiện tiên quyết
Các ví dụ chạy với Node.js 22.23.2, Axios 1.19.0, và http-proxy-agent 7.0.2. Tạo một dự án ESM và cài đặt các gói đã thử nghiệm:
Thêm "type": "module" vào package.json, sau đó cung cấp một TARGET_URL được ủy quyền và cấu hình proxy thông qua các biến môi trường được bảo vệ. Đừng bao giờ cam kết mật khẩu proxy hoặc ghi lại toàn bộ điểm cuối.
Đặt thời gian chờ và giới hạn kích thước phản hồi theo ứng dụng của bạn. Tài liệu cấu hình yêu cầu hiện tại cảnh báo rằng kích thước phản hồi và nội dung tối đa không có giới hạn theo mặc định, vì vậy các dịch vụ gọi các máy chủ không đáng tin cậy nên đặt giới hạn cụ thể.
Hướng dẫn Chi tiết: Cách Sử dụng Axios với Proxies
Bạn có thể sử dụng Axios với các proxy qua năm phương pháp đã được kiểm tra trên Node.js: đối tượng proxy gốc, xác thực proxy, biến môi trường, một pool quay lại có thể tái sử dụng hoặc một Agent tùy chỉnh. Mỗi ví dụ dưới đây đã được chạy trên một điểm cuối cục bộ được xây dựng chuyên biệt trả về ID tuyến đường không bí mật và URL mục tiêu của nó.
Phương pháp 1: Cấu hình Một Proxy trên Một Instance Axios
Sử dụng axios.create() khi nhiều cuộc gọi chia sẻ một proxy, timeout và chính sách phản hồi. Một instance giữ cấu hình định tuyến tách biệt với các cuộc gọi không liên quan của Axios.
importaxiosfrom"axios";const client = axios.create({proxy:{protocol:"http",host: process.env.PROXY_HOST,port:Number(process.env.PROXY_PORT),},timeout:10_000,});const response =await client.get(process.env.TARGET_URL);if(response.data.route!=="basic-18580"){thrownewError(`Tuyến đường không mong đợi: ${JSON.stringify(response.data)}`);}console.log(response.data);
Phản hồi thực thi chứa route: basic-18580 và mục tiêu tuyệt đối http://fixture.test/items. Trong sản xuất, hãy thay thế dấu hiệu cố định bằng một phản hồi có địa chỉ IP hợp lệ hoặc mã phiên của nhà cung cấp.
Luôn chuyển đổi cổng thành số và xác định rõ ràng giao thức. Một chuỗi được sao chép dưới dạng host không được chứa http://; giao thức, host và cổng là các trường riêng biệt. Hướng dẫn proxy Node.js của Nstproxy bao gồm cùng một lớp định tuyến ngoài Axios.
Phương pháp 2: Sử dụng một Proxy Axios Đã Xác Thực
Sử dụng proxy.auth khi một proxy HTTP yêu cầu xác thực Basic. Truyền tên người dùng và mật khẩu dưới dạng các trường riêng biệt tránh việc phải tạo thủ công một URL chứa thông tin xác thực.
Proxy cục bộ đầu tiên yêu cầu một thách thức 407 và sau đó chấp nhận một tên người dùng chứa khoảng trắng và một mật khẩu chứa @ và :. Axios trả về { route: 'auth-18581', authenticated: true }.
Cài đặt proxy.auth của Axios ghi đè lên tiêu đề Proxy-Authorization được cung cấp bằng tay. Giữ cho thông tin xác thực proxy khác biệt với thông tin xác thực của máy chủ đích: tham số auth hoặc tiêu đề Authorization xác thực tới đích, trong khi proxy.auth xác thực tới trung gian.
Phương pháp 3: Sử dụng HTTP_PROXY và HTTPS_PROXY
Sử dụng các biến môi trường proxy khi nền tảng runtime sở hữu lộ trình ra ngoài. Axios giải quyết các biến proxy thông thường trong Node.js, và NO_PROXY cung cấp các máy chủ cần đi trực tiếp.
importaxiosfrom"axios";const response =await axios.get(process.env.TARGET_URL,{timeout:10_000});if(response.data.route!=="basic-18580"){thrownewError(`Tuyến đường không mong đợi: ${JSON.stringify(response.data)}`);}console.log(response.data.route);
Chạy dựa trên môi trường in ra basic-18580 mà không cần một đối tượng proxy rõ ràng. Kiểm tra các biến chữ hoa và chữ thường, NO_PROXY, cài đặt container, và cấu hình dịch vụ khi hành vi khác nhau giữa các máy.
Đặt proxy: false trong một yêu cầu hoặc phiên bản khi Axios phải bỏ qua các biến môi trường proxy. Điều này rất quan trọng khi một Agent tùy chỉnh đã thực hiện định tuyến proxy.
Phương pháp 4: Lật một bể khách hàng Axios có giới hạn
Sử dụng các phiên bản Axios được cấu hình trước cho việc xoay vòng phía ứng dụng có thể dự đoán. Lựa chọn theo hình thức vòng tròn đảm bảo mỗi điểm cuối khả dụng đều được phân công công việc theo một thứ tự đã biết.
importaxiosfrom"axios";const proxyConfigs =[{protocol:"http",host:"127.0.0.1",port:18580},{protocol:"http",host:"127.0.0.1",port:18582},];const clients = proxyConfigs.map((proxy)=> axios.create({ proxy,timeout:10_000}));const routes =[];for(let index =0; index <4; index +=1){const response =await clients[index % clients.length].get(process.env.TARGET_URL);if(typeof response.data.route!=="string"){thrownewError("Phản hồi không chứa dấu hiệu đường đi");} routes.push(response.data.route);}console.log(routes);
Đầu ra đã luân phiên giữa basic-18580, rotate-18582, basic-18580, và rotate-18582. Lựa chọn ngẫu nhiên có thể chọn lại cùng một điểm cuối; sự lựa chọn có thể dự đoán dễ dàng quan sát và kiểm tra hơn. Hướng dẫn luân chuyển IP web scraping giải thích cách thay đổi tuyến đường ảnh hưởng đến các công việc thu thập độc lập.
Luân chuyển trong sản xuất cần nhiều hơn là lựa chọn. Theo dõi các thất bại liên tiếp, áp dụng thời gian chờ, giới hạn đồng thời, và chỉ thử lại những lỗi tạm thời. Không tự động phát lại một yêu cầu thay đổi trạng thái trừ khi thao tác là idempotent hoặc chứa một khóa idempotency. Giữ cookies và một tuyến đường dính liền cùng nhau cho một phiên trạng thái.
Phương pháp 5: Định tuyến Axios thông qua một Agent tùy chỉnh
Sử dụng một Agent tùy chỉnh khi giao thức điểm cuối hoặc chính sách tunneling nằm ngoài đường đi proxy gốc của Axios. Vô hiệu hóa giải quyết proxy của Axios để Agent là nguồn duy nhất của sự thật về định tuyến.
importaxiosfrom"axios";import{HttpProxyAgent}from"http-proxy-agent";const agent =newHttpProxyAgent(process.env.PROXY_URL);const response =await axios.get(process.env.TARGET_URL,{httpAgent: agent,proxy:false,timeout:10_000,});if(response.data.route!=="basic-18580"){thrownewError(`Tuyến đường không mong đợi: ${JSON.stringify(response.data)}`);}console.log(response.data.route);
Chạy dựa trên Agent in ra basic-18580. Gói http-proxy-agent được thiết kế cho các kết nối proxy HTTP. Đối với một đường hầm HTTPS hoặc điểm cuối SOCKS, hãy sử dụng Agent duy trì tương ứng và gán nó vào trường httpAgent hoặc httpsAgent đúng. Mã hóa thông tin xác thực khi chúng được nhúng trong URL của Agent.
Cách xác minh một tuyến đường proxy Axios
Xác minh một tuyến đường proxy Axios bằng cách kiểm tra lối thoát mạng, hợp đồng phản hồi, và dữ liệu được chấp nhận một cách riêng biệt. Bắt đầu với một điểm cuối phản ánh IP được ủy quyền hoặc điểm chẩn đoán kiểm soát. Xác nhận mã định tuyến của nó, sau đó gọi mục tiêu thực tế và yêu cầu loại nội dung, trạng thái, và trường ngữ nghĩa ổn định như mong đợi.
Axios thường từ chối các phản hồi ngoài phạm vi trạng thái chấp nhận của nó, nhưng một trạng thái 200 vẫn có thể mang một trang lỗi, màn hình đăng nhập, ngôn ngữ thay thế, hoặc sơ đồ JSON không mong đợi. Hướng dẫn hướng dẫn xử lý lỗi Axios chính thức phân biệt lỗi với phản hồi, lỗi không có phản hồi, và thất bại trong thiết lập. Chỉ ghi lại các mã lỗi không bí mật, ID đường đi, và thời gian.
Đặt một AbortSignal hoặc thời gian chờ, giới hạn kích thước phản hồi và giới hạn chuyển tiếp. Bảo toàn các tiêu đề nhạy cảm của máy chủ mục tiêu chỉ ở những nơi cần thiết; các phiên bản gần đây của Axios bao gồm củng cố việc chuyển hướng và tuần tự hóa, nhưng các ứng dụng vẫn cần một chính sách mục tiêu được cho phép khi các URL đến từ đầu vào bên ngoài.
Chọn Đường Dẫn Nstproxy cho Axios
Các Proxy Nstproxy Residential Prime cung cấp các điểm cuối được xác thực tiêu chuẩn cho các quy trình Node.js cần định tuyến dân cư, lựa chọn vị trí và phiên quay vòng hoặc phiên dính trên bề mặt sản phẩm hiện tại. Axios có thể kết nối thông qua đối tượng proxy gốc của nó hoặc một Agent tương thích, giúp giữ cho logic kinh doanh độc lập với SDK cụ thể của nhà cung cấp. Các mô hình thanh toán theo gói và theo số lần sử dụng cho phép các nhóm chọn một mô hình hoạt động sau khi đo lường lưu lượng và phản hồi được chấp nhận. Sản phẩm phù hợp cho việc định vị được ủy quyền, giám sát giá cả, xác minh quảng cáo và công việc dữ liệu công khai; kiểm tra đích, giao thức và chính sách phiên trước khi tăng cường độ đồng thời.
Cài đặt Axios gốc: ánh xạ điểm cuối được tạo ra đến protocol, host, port, và proxy.auth.
Định tuyến nhạy với phiên: Sử dụng quay vòng cho các cuộc gọi độc lập hoặc giữ một đường dẫn dính với công việc phụ thuộc vào cookie.
Cơ sở hạ tầng proxy không xác thực các trường JSON hoặc render các ứng dụng chỉ dành cho trình duyệt. Hướng dẫn quét web bằng JavaScript giúp xác định xem một client HTTP có đủ hay không hoặc quy trình cần thực thi trên trình duyệt.
Các Lỗi Proxy Axios Thường Gặp và Cách Khắc Phục
Triệu chứng
Nguyên nhân khả dĩ
Cách khắc phục thực tế
ECONNREFUSED
Máy chủ/cổng sai hoặc proxy ngoại tuyến
Xác nhận khả năng tiếp cận và giao thức; sử dụng thời gian chờ có giới hạn.
407 Proxy Authentication Required
Thiếu hoặc không hợp lệ thông tin xác thực proxy
Kiểm tra các trường proxy.auth và chính sách tài khoản; không thử lại thông tin xác thực sai mãi mãi.
Proxy hoạt động với HTTP nhưng HTTPS thì không
Vấn đề CONNECT hoặc độ tin cậy TLS
Xác nhận hỗ trợ đường hầm và CA dự kiến; không bao giờ vô hiệu hóa xác minh TLS như một cách khắc phục vĩnh viễn.
IP trực tiếp xuất hiện
NO_PROXY đã khớp hoặc Axios bên trình duyệt đang được sử dụng
Kiểm tra các quy tắc vượt qua môi trường; cấu hình định tuyến trình duyệt bên ngoài Axios.
Agent tùy chỉnh bị bỏ qua hoặc trùng lặp
Giải pháp proxy Axios vẫn đang hoạt động
Đặt proxy: false và đính kèm Agent vào trường đúng.
Điểm cuối SOCKS thất bại trong proxy
Tùy chọn tích hợp yêu cầu một proxy tương thích với HTTP
Sử dụng một Agent SOCKS được duy trì và một URL SOCKS được mã hóa.
Trạng thái 200 nhưng dữ liệu không hợp lệ
Lỗi nhẹ hoặc phản hồi thay thế
Xác thực loại nội dung, dấu hiệu đường đi, và lược đồ theo miền cụ thể.
Sử dụng tham khảo lỗi máy chủ proxy để phân tách các lỗi xác thực, kết nối, đường hầm và phản hồi mục tiêu trước khi thêm các lần thử lại.
Kết Luận
Một cấu hình proxy Axios đáng tin cậy bắt đầu với ranh giới Node.js và một cơ chế định tuyến rõ ràng. Sử dụng đối tượng proxy gốc cho các cổng HTTP tiêu chuẩn, proxy.auth cho thông tin xác thực, các biến môi trường cho các lộ trình được quản lý triển khai, và proxy: false với một Agent tùy chỉnh khi Agent điều khiển hành vi vận chuyển.
Bắt đầu với một mục tiêu được ủy quyền và chứng minh hợp đồng đường đi và phản hồi. Thêm một nhóm client có giới hạn chỉ sau khi thời gian chờ, xác thực ngữ nghĩa, và phân loại lỗi đã hoạt động; xem xét Nstproxy Proxy Manager sau đó nếu các nhóm, sức khỏe và chính sách định tuyến vượt ra ngoài mã ứng dụng.
Trải Nghiệm Nstproxy — Bắt Đầu Bản Dùng Thử Miễn Phí Ngày Hôm Nay
Q: Cấu hình proxy Axios có hoạt động trong trình duyệt không?
Không. Tùy chọn proxy của Axios chỉ dành cho Node.js; JavaScript trên trình duyệt không thể chọn proxy outbound của trình duyệt. Thay vào đó, hãy cấu hình trình duyệt, hệ thống, tiện ích mở rộng, máy chủ phát triển hoặc cổng upstream.
Q: Làm thế nào để xác thực đến một proxy trong Axios?
Thêm auth: { username, password } bên trong đối tượng proxy của Axios. Giữ các giá trị đó trong cấu hình runtime được bảo vệ và phân biệt chúng với xác thực máy chủ mục tiêu.
Q: Axios có hỗ trợ HTTP_PROXY và HTTPS_PROXY không?
Có. Axios hỗ trợ các biến môi trường proxy thông thường trong Node.js, trong khi NO_PROXY vượt qua các máy chủ khớp. Sử dụng proxy: false khi yêu cầu phải bỏ qua chúng.
Q: Axios có thể sử dụng proxy SOCKS5 không?
Axios yêu cầu một Agent tương thích với SOCKS thay vì đối tượng proxy HTTP tích hợp sẵn. Đặt trường Agent phù hợp và proxy: false để Axios không áp dụng một lộ trình thứ hai.
H: Tôi nên xoay vòng proxies với Axios như thế nào?
Tạo một tập hợp giới hạn các phiên bản Axios đã cấu hình và chọn chúng bằng một chính sách quan sát như round-robin hoặc lựa chọn dựa trên sức khỏe. Thêm thời gian nghỉ (cooldowns) và ngân sách thử lại hữu hạn thay vì thử lại mọi lỗi qua mọi điểm cuối.
H: Tại sao một proxy của Axios lại trả về mã trạng thái 200 với nội dung sai?
Một proxy hoặc mục tiêu có thể trả về một trang lỗi mềm với mã trạng thái 200. Yêu cầu loại nội dung mong đợi, bằng chứng lộ trình, và các trường thông tin đặc thù theo miền trước khi chấp nhận phản hồi.
Marcus Chen
Aug. 20th 2026
110M+ IP that voi ti le truy cap thanh cong 99.9%
Phan hoi trung binh ~0.5s cho tac vu dong thoi cao
Chi tu $0.1/GB
Truy cap ngay cac pool proxy residential, datacenter, IPv6 va ISP cao cap.