Hầu hết các thiết bị macOS và Windows đã đi kèm với các thư viện cURL được cài đặt sẵn (libcurl). Nhưng đa phần người dùng lại không biết cách sử dụng chúng đúng cách với proxy.
Định nghĩa
cURL viết tắt của Client URL là một công cụ dòng lệnh (command line tool) dùng để kiểm tra kết nối từ URL và cho phép truyền dữ liệu. Với việc hỗ trợ hơn 25 giao thức, bao gồm HTTP, HTTPS, FTP và SFTP,… Khi nói đến việc gỡ lỗi các yêu cầu mạng và lệnh gọi API thì đây là một trong những công cụ nguồn mở tốt nhất hiện có và miễn phí. Công cụ hoạt động trên Linux, Mac và Windows. Hiểu một cách đơn giản thì về cơ bản bạn có thể sử dụng lệnh cURL để upload và tải xuống nội dung từ internet. Nếu máy của bạn chưa có sẵn cURL có thể tải tại https://curl.se/download.html.
cURL hỗ trợ proxy như thế nào?
cURL hỗ trợ proxy thông qua tùy chọn dòng lệnh -x hoặc –proxy. Bạn nên đặt địa chỉ máy chủ proxy trong dấu ngoặc kép để xử lý các ký tự đặc biệt trong URL một cách chính xác. Lưu ý rằng giao thức proxy mặc định cho cURL là HTTP.
Để sử dụng proxy với công cụ này, bạn phải chuyển địa chỉ proxy được yêu cầu bằng tùy chọn dòng lệnh -x (hoặc –proxy) Đồng thời xác thực thông tin proxy bằng cách sử dụng khóa chuyển dòng lệnh -U (hoặc –proxy-user). Thông tin đăng nhập proxy cũng có thể được chuyển vào chuỗi proxy và sẽ được giải mã URL bởi cURL.
Chuỗi proxy có thể được bắt đầu bằng giao thức: //. Ví dụ: http:// hoặc socks5://. Nếu không có giao thức nào được chỉ định thì mặc định là http://. Nếu không có số cổng nào được chỉ định trong chuỗi proxy, cổng mặc định là 1080.
Hình thức chung của lệnh Curl để gửi yêu cầu thông qua máy chủ proxy như sau:
curl -x "[protocol://][host][:port]" [URL] [options]
Chuyển địa chỉ proxy tới cURL thông qua các biến môi trường
Biến môi trường (Environment Variable) là gì?
Biến môi trường là một cặp khóa=giá trị được đặt ở cấp hệ thống và có thể ảnh hưởng đến hành vi của tất cả các quy trình đang chạy trên máy tính. Các biến môi trường là một phần của hệ điều hành. Nó được giới thiệu lần đầu tiên vào năm 1979 trên Unix và hiện được hỗ trợ bởi tất cả các hệ điều hành, bao gồm Linux, macOS và Windows.
Cách chuyển địa chỉ proxy tới cURL
Một cách khác để chuyển địa chỉ proxy tới Curl là đặt các biến môi trường http_proxy và https_proxy. Sử dụng các biến môi trường này sẽ có tác dụng tương tự như sử dụng tùy chọn dòng lệnh -x và –proxy.
Cài đặt proxy thông qua biến môi trường:
export http_proxy="[protocol://][host][:port]"
export https_proxy="[protocol://][host][:port]"
Để tắt cài đặt proxy chung, hãy bỏ đặt hai biến môi trường này:
unset http_proxy
unset https_proxy
Cách vượt qua lỗi chứng chỉ SSL khi sử dụng Proxy cURL
Nếu cURL gặp lỗi chứng chỉ SSL, nó sẽ tự động chặn yêu cầu. Đối với mục đích gỡ lỗi, để cho phép các kết nối không an toàn đến máy chủ, bạn có thể yêu cầu bỏ qua các lỗi chứng chỉ SSL bằng cách thêm tùy chọn dòng lệnh -k vào yêu cầu:
curl -x "[protocol://][host][:port]" -k [URL]
Cách để bỏ qua proxy cho một yêu cầu cURL
Giả sử proxy được đặt trên toàn cầu thông qua một biến môi trường hoặc tệp .curlrc. Trong trường hợp đó, bạn vẫn có thể bỏ qua proxy cho các yêu cầu cURL cụ thể bằng cách sử dụng tham số dòng lệnh –noproxy “*” trong yêu cầu cURL. Vô hiệu hóa Proxy cho các yêu cầu cụ thể:
curl --noproxy "*" https://reqbin.com/echo
Cách chỉ định tên người dùng và mật khẩu proxy cho cURL
Nếu proxy của bạn yêu cầu xác thực người dùng, bạn có thể chuyển tên người dùng và mật khẩu cho cURL bằng khóa chuyển dòng lệnh -U hoặc –proxy-user. Xác thực Proxy Curl:
curl -x "[protocol://][host][:port]" [URL] -U login:password
Bạn có thể tìm hiểu thêm các bài viết khác về các cách Fake IP máy tính bằng các bài viết khác ở chuyên mục này: “Công Nghệ”
Để có thể mua Proxy cho IPv6 bạn có thể mua tại website proxyv6.net.
Các bạn có thể tìm hiểu thêm tại Google