Cách sử dụng curl với máy chủ proxy năm 2026 | Hướng dẫn từng bước
Tóm tắt
Sử dụng curl --proxy "http://PROXY_HOST:PROXY_PORT" TARGET_URL cho một yêu cầu; -x là viết tắt của --proxy.
Giữ thông tin chứng thực proxy tách biệt với --proxy-user "PROXY_USER:PROXY_PASSWORD" thay vì nhúng chúng vào URL proxy.
Sử dụng socks5h:// khi một proxy SOCKS5 nên phân giải hostname đích; socks5:// thông thường sẽ phân giải nó cục bộ.
Đặt http_proxy, HTTPS_PROXY, và NO_PROXY cho hành vi toàn cục của shell, hoặc sử dụng .curlrc chỉ khi cần lưu trữ riêng cho curl.
Xác minh địa chỉ IP ra và trạng thái HTTP riêng biệt, vì một kết nối proxy thành công không chứng minh rằng đích đã chấp nhận yêu cầu.
Không bao giờ giải quyết lỗi chứng chỉ với --insecure trong môi trường sản xuất; xác thực URL proxy, chuỗi tin cậy, đồng hồ hệ thống và CA của proxy thay vào đó.
Sử dụng curl với máy chủ proxy có ý nghĩa gì?
Sử dụng curl với máy chủ proxy có nghĩa là curl kết nối với một trung gian, trung gian này gửi yêu cầu tới đích và trả lại phản hồi. Sự sắp xếp này rất hữu ích cho QA khu vực được ủy quyền, giám sát giá, xác minh quảng cáo, kiểm tra mạng và thu thập dữ liệu công khai. Một cổng proxy Nstproxy quản lý có thể cung cấp cho một kịch bản một cổng ổn định trong khi dịch vụ xử lý tài nguyên proxy đã chọn phía sau.
URL đích và URL proxy mô tả các phần khác nhau của mạng. Trong , curl giao tiếp HTTP với proxy và yêu cầu một đích HTTPS thông qua nó. Tiền tố do đó miêu tả kết nối từ khách hàng đến proxy, không phải trang đích. Trang định nghĩa và là tùy chọn để chọn proxy và liệt kê các hình thức HTTP, HTTPS, SOCKS4, SOCKS4a, SOCKS5 và SOCKS5h.
Trước khi tiếp tục, chỉ sử dụng tài khoản proxy và đích mà bạn được ủy quyền truy cập. Kiểm tra các điều khoản của đích, giữ quy mô yêu cầu trong giới hạn và không sử dụng proxy để tránh các điều khiển truy cập hoặc thu thập dữ liệu riêng tư.
Bạn cần gì trước khi chạy curl qua proxy?
Bạn cần curl, một URL đích, giao thức proxy, tên miền hoặc địa chỉ IP cổng, một cổng, và—khi cần—thông tin chứng thực proxy. Xác nhận rằng curl có sẵn trước khi gỡ lỗi bất kỳ cài đặt mạng nào:
curl--version
Dòng đầu tiên của đầu ra xác định phiên bản curl và libcurl đã cài đặt; danh sách giao thức và tính năng sau đó phụ thuộc vào bản dựng. Một lệnh hiện tại vẫn có thể thất bại nếu tường lửa công ty chặn cổng, tài khoản không hoạt động, loại proxy đã chọn không khả dụng, hoặc đích từ chối địa chỉ IP ra.
Giữ các giá trị sau đây sẵn sàng, nhưng đừng dán thông tin bí mật thật vào vé, ảnh chụp màn hình, kiểm soát nguồn, hoặc lịch sử shell được chia sẻ:
Giá trị
Ví dụ giữ chỗ
Mục đích
Giao thức proxy
http, https, hoặc socks5h
Định nghĩa cách curl đến được proxy
Host proxy
PROXY_HOST
Tên cổng proxy
Cổng proxy
PROXY_PORT
Chọn dịch vụ cổng
Tên người dùng proxy
PROXY_USER
Xác định tài khoản hoặc kênh proxy
Mật khẩu proxy
PROXY_PASSWORD
Xác thực phiên proxy
URL đích
https://api.ipify.org
Định nghĩa tài nguyên mà curl yêu cầu
Một yêu cầu HTTP chứa một phương thức, đích, tiêu đề, và thân tùy chọn. Proxy có thể thêm hành vi kết nối, nhưng curl vẫn gửi một yêu cầu thông thường tới đích.
Bước 1: Kiểm tra curl mà không có proxy
Một cơ sở trực tiếp tách biệt các lỗi đích khỏi các lỗi proxy. Chạy cùng một điểm kiểm tra IP công khai nhỏ trước và sau khi thêm proxy:
Ghi lại kết quả trực tiếp chỉ để so sánh; một địa chỉ IP có thể là dữ liệu cá nhân hoặc hoạt động, vì vậy đừng công khai nó trong nhật ký. --silent --show-error loại bỏ đồng hồ tiến trình trong khi vẫn giữ thông tin lỗi. --fail-with-body làm cho các phản hồi HTTP từ 400 trở lên thất bại trong khi vẫn giữ nội dung phản hồi để chẩn đoán.
Bước 2: Gửi một yêu cầu curl qua một proxy HTTP
Lệnh proxy curl trực tiếp nhất truyền cổng tới --proxy hoặc -x. Đặt cả hai URL trong dấu ngoặc kép để các ký tự đặc biệt trong shell không thể thay đổi lệnh:
Lệnh này yêu cầu proxy HTTP truy cập vào một đích HTTPS, thường bằng cách sử dụng một hầm CONNECT HTTP. Một phản hồi chứa địa chỉ IP ra của proxy xác nhận rằng yêu cầu đã rời khỏi thông qua đường proxy đó. Một địa chỉ IP trực tiếp và địa chỉ IP qua proxy khớp có thể có nghĩa là yêu cầu đã vượt qua proxy, proxy ra khỏi cùng một mạng công cộng, hoặc quy tắc môi trường đã ghi đè đường đi mong đợi.
Dưới đây là bản dịch tiếng Việt cho văn bản bạn đã cung cấp:
Đối với một yêu cầu chẩn đoán đơn lẻ, thêm --verbose và kiểm tra các dòng kết nối. Đầu ra chi tiết có thể tiết lộ tên máy chủ, tiêu đề và thông tin xác thực, vì vậy hãy chỉnh sửa chúng trước khi chia sẻ.
Bước 3: Xác thực mà không nhúng thông tin xác thực vào URL
Xác thực qua proxy rõ ràng hơn với --proxy-user hơn là với user:password@host. Tài liệu curl chính thức cũng cảnh báo rằng bí mật trên dòng lệnh có thể xuất hiện tạm thời với những người dùng cục bộ khác, ngay cả khi curl sau đó ẩn đối số đó:
Đối với tự động hóa, hãy sử dụng một trình quản lý bí mật được phê duyệt hoặc một cơ chế cấu hình có quyền hạn chế. Các biến môi trường giảm thiểu việc vô tình cam kết mã nguồn nhưng vẫn có thể rò rỉ qua các chẩn đoán hoặc quy trình con. Tránh đặt thông tin xác thực trực tiếp vào một tệp .curlrc chia sẻ.
Bước 4: Sử dụng curl với thông tin xác thực proxy Nstproxy
Nstproxy tài liệu mô hình curl như một cổng cùng với tên người dùng có nguồn gốc từ Channel và mật khẩu Channel. Tên người dùng chính xác có thể mã hóa loại proxy đã chọn, vị trí, thời gian phiên và định danh phiên; sao chép giá trị được tạo từ bảng điều khiển đã xác thực thay vì tái tạo nó từ bộ nhớ.
Khối lệnh sử dụng các biến giữ chỗ vì một yêu cầu Nstproxy thực tế yêu cầu một mật khẩu Channel riêng tư. Tài liệu công khai của Nstproxy hiện tại cho thấy hỗ trợ HTTP/HTTPS/SOCKS5 và điều khiển phiên, nhưng hàng tồn kho theo vùng có thể thay đổi. Tạo một proxy hiện tại trong bảng điều khiển và giữ cổng đã chọn gần với máy chạy curl khi độ trễ là quan trọng.
Đối với việc thu thập ủy quyền lặp lại hoặc kiểm tra theo vùng, Nstproxy Residential Prime Proxies cung cấp tùy chọn dân cư xoay vòng phù hợp với các cờ proxy chuẩn của curl. Sản phẩm này phù hợp với các nhóm cần một cổng được quản lý thay vì duy trì các máy chủ proxy riêng lẻ. Cấu hình dựa trên Channel giữ việc sử dụng và hóa đơn gắn liền với một đơn vị xác định, trong khi thông tin xác thực được tạo ra mang theo các tham số phiên đã chọn. Đây là một giải pháp thực tế cho QA web công cộng, xác minh quảng cáo, giám sát giá cả và thu thập dữ liệu khi cần định tuyến dân cư. Xác nhận tính khả dụng hiện tại của sản phẩm, mục tiêu và bao bì trước khi chọn nó cho khối lượng công việc.
Giao diện curl tiêu chuẩn: Sử dụng cùng các tùy chọn --proxy và --proxy-user được hiển thị trong toàn bộ hướng dẫn này.
Chọn phiên: Tạo một định danh phiên mới khi có ý định xoay vòng, hoặc giữ một giá trị phiên đã được tài liệu hóa khi một quy trình làm việc cần sự liên tục.
Tách biệt vận hành: Lưu mật khẩu Channel bên ngoài kịch bản và xoay vòng ngay lập tức các thông tin xác thực đã lộ.
Sẵn sàng để kiểm tra cấu hình của riêng bạn? Tạo một proxy mới trong bảng điều khiển Nstproxy, thay thế bốn biến giữ chỗ NSTPROXY_ tại chỗ, và so sánh IP trả về với đường cơ sở trực tiếp của bạn. Không gửi lệnh hoàn thành cho bất kỳ ai vì nó chứa thông tin xác thực tài khoản hoạt động.
Bước 5: Chọn HTTP, HTTPS, SOCKS5 hoặc SOCKS5h một cách chính xác
Chọn sơ đồ proxy dựa trên dịch vụ proxy và hành vi DNS, không phải URL mục tiêu. Mục tiêu có thể giữ nguyên HTTPS với bất kỳ hình thức proxy nào dưới đây.
Hình thức proxy
Ví dụ curl
Hành vi quan trọng
HTTP
-x http://PROXY_HOST:PROXY_PORT
Hình thức cổng phổ biến; Các mục tiêu HTTPS thường sử dụng CONNECT
HTTPS
-x https://PROXY_HOST:PROXY_PORT
Thêm TLS trên phần client đến proxy; hỗ trợ xây dựng quan trọng
SOCKS5
-x socks5://PROXY_HOST:PROXY_PORT
Giải quyết tên máy đích cục bộ
SOCKS5h
-x socks5h://PROXY_HOST:PROXY_PORT
Gửi tên máy chủ tới proxy để giải quyết
Sử dụng SOCKS5h khi việc giải quyết DNS từ xa là một phần của yêu cầu:
Sự khác biệt giữa SOCKS5 và SOCKS5h có ý nghĩa trong các bài kiểm tra rò rỉ DNS và khi trình phân giải cục bộ không thể giải quyết một tên miền nội bộ hoặc tên miền cụ thể theo vùng. Hướng dẫn hướng dẫn proxy curl xác nhận hỗ trợ cho proxy HTTP và SOCKS với xác thực tùy chọn. Một proxy backconnect cũng có thể tiết lộ một cổng trong khi chọn hoặc luân phiên các địa chỉ IP thoát ở phía trên của nó.
Bước 6: Đặt biến môi trường proxy cho một phiên shell
Biến môi trường áp dụng quy tắc proxy mà không cần lặp lại --proxy trên mọi lệnh. curl đọc các biến cụ thể theo schema và ALL_PROXY; hướng dẫn môi trường proxy curl mọi thứ giải thích rằng http_proxy được viết thường có chủ ý vì việc chấp nhận HTTP_PROXY viết hoa có thể tạo ra vấn đề bảo mật CGI.
Tên biến chọn schema của URL mục tiêu, trong khi schema của giá trị chọn cách curl đạt được proxy. NO_PROXY là danh sách bỏ qua phân tách bằng dấu phẩy; kiểm tra việc khớp tên miền phụ và cổng với phiên bản curl bạn đã cài đặt trước khi dựa vào nó trong sản xuất.
Cài đặt --proxy trên dòng lệnh dễ dàng hơn để kiểm tra cho một yêu cầu. Biến môi trường hữu ích cho một phiên shell giới hạn nhưng có thể ảnh hưởng bất ngờ đến các công cụ khác được khởi động từ shell đó.
Bước 7: Đặt cài đặt proxy curl thành vĩnh viễn với .curlrc
Tệp cấu hình curl khiến các tùy chọn trở thành vĩnh viễn chỉ cho curl. Trên Linux và macOS, curl thường đọc .curlrc từ thư mục chính của người dùng; Windows tìm kiếm các vị trí _curlrc được hỗ trợ.
Xem xét dòng mật khẩu như nhạy cảm và hạn chế quyền truy cập vào tệp. Một cách làm an toàn hơn cho đội là chỉ lưu địa chỉ proxy không bí mật trong tệp và tiêm xác thực tại thời gian chạy. Để bỏ qua cấu hình mặc định cho một lần gọi, đặt -q đầu tiên:
Cài đặt proxy vĩnh viễn thường là nguyên nhân của các lỗi “hoạt động trên một máy”. Kiểm tra .curlrc, biến môi trường, bí danh và các kịch bản bọc trước khi đổ lỗi cho dịch vụ proxy.
Bước 8: Bỏ qua hoặc ghi đè proxy một cách an toàn
Sử dụng --noproxy khi một máy chủ nên kết nối trực tiếp mặc dù có cài đặt proxy khác tồn tại. Một dấu sao sẽ bỏ qua proxy cho mọi máy chủ trong một lệnh:
Sử dụng danh sách máy chủ hẹp trong sản xuất. Một sự bỏ qua rộng có thể gửi lưu lượng ra ngoài con đường yêu cầu của công ty hoặc tuân thủ. Khi thay đổi là mục tiêu, hãy thay đổi thông số phiên được xác định bởi nhà cung cấp thay vì duy trì một danh sách cục bộ không giới hạn; sự phân biệt tương tự xuất hiện trong hướng dẫn thực tiễn về cách luân chuyển proxy trong Python.
Làm thế nào bạn xác minh rằng curl thực sự đã sử dụng proxy?
Xác minh nên xác nhận lộ trình, kết quả HTTP và thời gian như những sự thật riêng biệt. So sánh phản hồi IP trực tiếp với phản hồi đã qua proxy, sau đó ghi lại các chẩn đoán có thể đọc máy:
proxy_used chỉ có sẵn trong các phiên bản curl mới hơn, vì vậy hãy kiểm tra curl --version và trang man tương ứng trên máy đang chạy tác vụ. Một phản hồi 200 chứng minh rằng mục tiêu đã trả về thành công cho yêu cầu đó; nó không đảm bảo vị trí thoát như mong đợi. Xác thực vị trí với một điểm cuối thông tin IP được ủy quyền và tránh giữ lại dữ liệu IP thô lâu hơn mức cần thiết.
Các lỗi và cách khắc phục curl proxy phổ biến
Hầu hết các lỗi curl proxy rơi vào các loại kết nối, xác thực, TLS, DNS hoặc phản hồi mục tiêu. Bắt đầu với số lỗi curl và đoạn mạng đầu tiên thất bại.
Triệu chứng
Ranh giới khả thi
Kiểm tra thực tiễn
curl: (5) Không thể giải quyết proxy
DNS proxy
Kiểm tra chính tả cổng và trình phân giải cục bộ
curl: (7) Không thể kết nối
Đường dẫn TCP
Kiểm tra cổng, tường lửa, VPN và khả năng truy cập cổng
HTTP 407 Cần xác thực proxy
Xác thực proxy
Tạo lại thông tin đăng nhập và xác minh --proxy-user
curl: (35) hoặc curl: (60)
Thương lượng TLS hoặc tin cậy
Kiểm tra schema, chuỗi CA, đồng hồ hệ thống và chính sách gián đoạn
HTTP 403 hoặc 429
Phản hồi mục tiêu thường gặp
Giảm tốc độ, xác nhận quyền hạn và kiểm tra tiêu đề phản hồi
Địa chỉ IP trực tiếp xuất hiện sau khi thiết lập proxy
Bỏ qua hoặc không khớp lộ trình
Kiểm tra NO_PROXY, .curlrc, bí danh và các dòng kết nối chi tiết
Không tự động thêm --insecure sau khi gặp lỗi chứng chỉ. Cờ này vô hiệu hóa xác minh chứng chỉ và có thể che giấu một điểm cuối sai hoặc vấn đề bị chặn. Nếu một proxy HTTPS sử dụng CA doanh nghiệp riêng, hãy cài đặt CA được phê duyệt hoặc sử dụng tùy chọn CA cụ thể cho proxy của curl theo chính sách bảo mật của bạn.
Kết luận
Quy trình làm việc với proxy curl đáng tin cậy rất ngắn gọn: xác lập một cơ sở trực tiếp, thêm --proxy, giữ xác thực tách biệt, chọn hành vi DNS có chủ đích và xác minh cả lộ trình ra và kết quả HTTP. Chỉ sử dụng các biến môi trường hoặc .curlrc khi phạm vi rộng hơn của chúng là có chủ đích. Đối với Nstproxy, hãy tạo thông tin xác thực Kênh hiện tại trên bảng điều khiển và coi mỗi lệnh curl đã hoàn thành như một di sản mang bí mật.
Trải nghiệm Nstproxy — Bắt đầu dùng thử miễn phí ngay hôm nay
Sử dụng đăng ký thử nghiệm miễn phí của Nstproxy để tạo một Kênh, tạo một proxy và chạy mẫu lệnh đã xác minh chống lại một mục tiêu công khai hoặc được ủy quyền. Xem lại các cài đặt được tạo và lệnh nháp trước khi đưa vào bất kỳ quy trình tự động hóa nào.
Dạng ngắn nhất là curl -x "http://PROXY_HOST:PROXY_PORT" "TARGET_URL". Thêm -U "PROXY_USER:PROXY_PASSWORD" khi proxy yêu cầu xác thực.
Q: curl có sử dụng HTTP_PROXY hay http_proxy không?
curl chấp nhận http_proxy viết thường cho các mục tiêu HTTP và cố ý không chấp nhận HTTP_PROXY viết hoa. Các biến proxy khác, bao gồm HTTPS_PROXY và ALL_PROXY, có thể viết hoa hoặc viết thường, tùy thuộc vào thứ tự ưu tiên đã tài liệu hóa của curl.
Q: Sự khác biệt giữa socks5 và socks5h trong curl là gì?
socks5:// khiến curl giải quyết tên máy chủ đích cục bộ, trong khi socks5h:// yêu cầu proxy SOCKS5 giải quyết nó. Sử dụng SOCKS5h khi cần giải quyết DNS từ xa.
Q: Làm cách nào để bạn ẩn mật khẩu proxy khỏi lịch sử shell?
Bỏ qua mật khẩu sau --proxy-user "PROXY_USER:" để có một dấu nhắc tương tác, hoặc lấy nó thông qua một quy trình quản lý bí mật đã được phê duyệt cho tự động hóa. Bí mật trên dòng lệnh và biến môi trường vẫn có thể bị lộ bởi các chẩn đoán cục bộ, vì vậy không phương pháp nào thay thế cho lưu trữ bí mật hợp lý.
Q: Tại sao curl trả về 407 yêu cầu xác thực proxy?
HTTP 407 có nghĩa là proxy không chấp nhận xác thực đã cung cấp. Xác minh định dạng tên người dùng, mật khẩu, trạng thái Kênh, loại proxy và liệu nhà cung cấp có mong đợi phương thức Basic, Digest, NTLM, Negotiate hay phương thức hỗ trợ khác hay không.
Q: Có thể curl tự động xoay vòng các proxy không?
curl gửi yêu cầu qua cấu hình proxy mà bạn cung cấp; việc xoay vòng thường đến từ việc thay đổi proxy hoặc giá trị phiên, hoặc từ cổng xoay vòng của nhà cung cấp. Giữ giới hạn thử lại và xoay vòng trong phạm vi nhất định và tôn trọng quy tắc truy cập của mục tiêu.
Q: Sử dụng curl với một proxy có hợp pháp không?
Sử dụng curl với một proxy về cơ bản là một lựa chọn cấu hình mạng, nhưng tính hợp pháp và quyền hạn phụ thuộc vào mục tiêu, dữ liệu, quyền tài phán, hợp đồng và mục đích. Sử dụng các tài khoản được ủy quyền và dữ liệu công khai hoặc được phép, tuân theo các điều khoản và luật hiện hành, và tìm lời khuyên pháp lý cho các quy trình được quản lý.
Hiểu ý nghĩa thực sự của một máy chủ proxy, cách nó hoạt động như một trung gian, và tại sao Nstproxy là nhà cung cấp proxy tốt nhất cho nhu cầu bảo mật và kinh doanh của bạn.
Lena Zhou
Feb. 13th 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.