CURL là gì? Hướng dẫn thiết lập & sử dụng CURL trên PHP
Xem nhanh
cURl là gì? cURl là từ viết tắt của “Client URL”, là công cụ dòng lệnh được sử dụng để kiểm tra những kết nối từ URL và cho phép truyền dữ liệu bằng nhiều giao thức khác nhau. Để thiết lập và sử dụng cURl hiệu quả hãy theo dõi bài viết dưới đây của FPT Cloud nhé.
CURl là dự án phần mềm máy tính cung cấp thư viện và công cụ dòng lệnh giúp kiểm tra kết nối URL, truyền dữ liệu bằng các giao thức. cURl được phát triển bởi Daniel Stenberg, người Thụy Điển vào năm 1997. cURl là một công cụ linh hoạt và mạnh mẽ được sử dụng rộng rãi trong phát triển phần mềm và quản trị hệ thống.
Tính đến nay, cURl trở thành một trong những công cụ dòng lệnh được sử dụng phổ biến nhất trên thế giới:
cURl hỗ trợ đa dạng các giao thức truyền dữ liệu thuận tiện cho việc tải xuống, gửi dữ liệu và kiểm thử API tương tác với nhiều hệ thống mạng khác nhau. Dưới đây là danh sách 18 giao thức được sử dụng phổ biến:
Tên giao thức | Chức năng |
HTTP | Giao thức truyền tải siêu văn bản, giúp các máy tính có thể giao tiếp với nhau qua mạng. |
HTTPS | Phiên bản bảo mật của giao thức HTTP sử dụng SSL/TLS để mã hóa và bảo vệ thông tin truyền tải. |
FTP | Giao thức truyền tải dữ liệu giữa máy tính và máy chủ từ xa. |
FTPS | Phiên bản bảo mật của giao thức FTP sử dụng SSL/TLS để mã hóa dữ liệu trong quá trình truyền tải. |
SFTP | Giao thức cung cấp truyền truy cập tệp, truyền tệp và quản lý tệp. |
SCP | Giao thức sao chép an toàn giữa các máy chủ. |
LDAP | Giao thức truy cập cơ sở dữ liệu phân tán giúp truy cập và quản lý dịch vụ thư mục. |
TELNET | Giao thức mạng được sử dụng kết nối với internet, mạng máy tính cục bộ LAN. |
IMAP | Giao thức mạng được sử dụng truy cập và quản lý email từ máy chủ. |
IMAPS | Phiên bản bảo mật của giao thức IMAP. |
POP3 | Giao thức tầng ứng dụng để kết nối và tải email từ máy chủ email về máy tính cá nhân. |
SMB | Giao thức mạng sử dụng trong DOS và Windows để chia sẻ tệp, máy in, cổng nối tiếp. |
SMBS | Phiên bản bảo mật nâng cao của giao thức SMB. |
TFTP | Giao thức dùng để truyền tệp giữa các thiết bị mạng. |
RTMP | Giao thức truyền phát video, âm thanh và dữ liệu qua mạng. |
RTSP | Giao thức truyền tin theo thời gian thực trong các hệ thống giải trí, truyền thông. |
DICT | Giao thức mạng giúp truy cập vào các từ điển trực tuyến. |
GOPHER | Giao thức dùng để phân phối, truy cập, tìm kiếm tài liệu. |
Khi sử dụng CURL để kiểm tra API hoặc gửi yêu cầu HTTP, việc triển khai trên môi trường ổn định là rất quan trọng. Nhiều lập trình viên lựa chọn thuê VPS giá rẻ hoặc thuê máy chủ cloud để đảm bảo quá trình thử nghiệm diễn ra liên tục, bảo mật và không phụ thuộc vào máy cá nhân.
Dưới đây là những chức năng chính của cURL:
>> Xem thêm: TOP dịch vụ lưu trữ đám mây được sử dụng nhiều nhất hiện nay
Bạn cần cài đặt thư viện libcurl trong hệ thống trên:
Sau khi cài xong cần thực hiện 3 bước dưới đây để sử dụng cURL trong PHP:
Sử dụng hàm curl_init() để khởi tạo, hàm này trả về một biến resource cURl.
Tiếp đến bạn sử dụng hàm curl_setopt() để cấu hình các tùy chọn của request gồm:
Một số tùy chọn request phổ biến với cURL:
Tên tùy chọn | Mô tả |
CURLOPT_URL | Đường dẫn URL |
CURLOPT_RETURNTRANSFER | Trả về kết quả từ curl_exec là TRUE dạng chuỗi hoặc FALSE hiển thị trực tiếp màn hình |
CURLOPT_TIMEOUT | Thời gian duy trì kết nối cURL tính bằng giây |
CURLOPT_USERAGENT | Giả lập chuỗi user agent của trình duyệt gửi dữ liệu |
CURLOPT_FILE | Lưu kết quả vào file |
CURLOPT_POST | Kết quả TRUE dữ liệu gửi về dạng POST |
CURL_POSTFIELDS | Mảng hoặc chuỗi dữ liệu được gửi kèm POST |
Để thiết lập các tùy chọn request bạn sử dụng hàm curl_setopt() là chủ yếu. Tuy nhiên trước khi sử dụng bạn cần gọi hàm curl_exec() để có hiệu lực và nhận 3 tham số:
Sử dụng hàm curl_setopt_array() để thiết lập nhiều tùy chọn cùng lúc.
Để đóng request sau khi hoàn tất việc sử dụng cURL bạn sử dụng hàm curl_close() và đóng phiên cURL giải phóng tài nguyên nhằm tiết kiệm và cải thiện hiệu suất của máy chủ.
Dưới đây là hướng dẫn cài đặt và một số lệnh cURL phổ biến trên hệ điều hành Linux:
Thông thường cURl được cài đặt sẵn trên hầu hết các máy tính có hệ điều hành Linux. Tuy nhiên có những máy chưa được cài đặt thì bạn có thể thực hiện tải xuống và cài đặt cURl bằng các lệnh tương ứng dưới đây:
Link cài đặt cURL: https://curl.haxx.se/
Điều kiện thực hiện các lệnh cài đặt: Cần được cấp quyền root hoặc quyền sudo trên hệ thống của mình.
Cài đặt cURL cho Debian/Ubuntu:
Sử dụng công cụ quản lý gói phần mềm apt để cài đặt với câu lệnh:
Cài đặt cURL cho OpenSUSE:
Sử dụng trình quản lý gói yum hoặc dnf để cài đặt cURL:
Cài đặt cURL cho RHEL, CentOS, Fedora:
Sử dụng trình quản lý zipper để cài đặt cURL:
Dưới đây là một số dòng lệnh cURL cơ bản thường được dùng trong Linux:
Sử dụng lệnh: curl –version
Bạn phải đăng nhập VPS thông qua SSH để kiểm tra cài đặt cURL. Kết quả trả về hiển thị phiên bản hiện tại của cURL và danh sách các giao thức cURL hỗ trợ.
Sử dụng lệnh: curl [OPTIONS] [URL]
Đây là cú pháp lệnh cơ bản cURL trong Linux để thực hiện các tùy chọn yêu cầu đến một URL cụ thể. Nếu không chỉ định giao thức thì cURL sẽ mặc định sử dụng giao thức HTTP.
Sử dụng lệnh: curl -O http://yourdomain.com/yourfile.tar.gz
Lệnh này giúp tải file từ một URL vào lưu lại trong thư mục làm việc hiện tại với tên file giống với tên file gốc.
Để đặt tải file và có thể tùy chỉnh tên file theo ý bạn sử dụng lệnh: curl -o newyourfile.tar.gz http://yourdomain.com/yourfile.tar.
Sử dụng lệnh: curl -I www.yourdomain.com kiểm tra thông tin header web HTTP bao gồm:
Lệnh để gửi yêu cầu POST: curl --data "text=Howareyou" https://mydomain.com/firstpage.jsp
Lệnh để gửi yêu cầu GET: curl http://mydomain.com
Sử dụng lệnh: curl --cookie-jar Mycookies.txt https://www.samplewebsite.com /index.html -O để gửi một yêu cầu tới một trang web và lưu lại cookies vào một tệp tin khi bạn muốn duy trì đăng nhập và các thông tin liên quan.
Sử dụng lệnh: curl --cookie Mycookies.txt https://www.samplewebsite.com để gửi yêu cầu đến trang web và sử dụng các cookies đã lưu từ tệp tin của cookies trước đó.
Sử dụng lệnh: curl -u username:password -O ftp://nameftpserver/yourfile.tar.gz để tải file từ một FTP và nhập tên người dùng, mật khẩu, đường dẫn để tải về.
Sử dụng lệnh: curl -u username:password -T yourfile.tar.gz ftp://nameftpserver để upload file lên FTP và nhập tên người dùng, mật khẩu, đường dẫn của file cần tải lên.
Sử dụng lệnh: curl --limit-rate 100K http://testdomain.com/samplefile.tar.gz -O để giới hạn tốc độ tải xuống của cURL về mức 100KB/s nhằm kiểm soát băng thông sử dụng khi tải file về từ một URL bất kỳ.
Sử dụng lệnh để gửi biểu mẫu: curl --data "username=john&password=123456" https://yourdomain.com/login.php
Sử dụng lệnh để xác thực HTTP: curl -u username:password https://yourdomain.com/protected
Như vậy, cURL là công cụ dòng lệnh mạnh mẽ, linh hoạt và là trợ thủ đắc lực cho quản trị viên hệ thống, nhà phát triển khi tương tác với API hoặc khi tải dữ liệu tự động từ URL. Hy vọng bài viết “cURL là gì” của FPT Cloud đã giúp bạn hiểu rõ hơn về khái niệm, cách thiết lập và sử dụng cURL hiệu quả nhé.
Lấy mã giảm giá của dịch vụ thuê máy chủ cloud, thuê server vật lý và thuê máy chủ ảo VPS của FPT Cloud: