Mục lục [Ẩn]
CURL là thuật ngữ thường xuyên được nhắc tới hiện nay. Vậy CURL là gì và sử dụng như thế nào? Trong bài này mình sẽ giải thích CURL là gì và ví dụ cho các bạn dễ hiểu hơn về sử dụng CURL trong PHP.
1. CURL là gì?
CURL là bộ thư viện được sử dụng để giúp thực hiện việc chuyển dữ liệu thông qua nhiều giao thức khác nhau (như HTTP, FPT...). Với giao thức HTTP, cURL hỗ trợ việc gửi dữ liệu sử dụng tất cả các phương thức hiện có như GET, POST, PUT, DELETE... cURL cũng hỗ trợ việc truyền dữ liệu sử dụng giao thức HTTPS. Ngoài ra, chúng ta cũng có thể thực hiện việc xác thực request gửi đi thông qua cURL. Việc xác thực có thể được thực hiện thông qua việc thiết lập header cho request hoặc sử dụng cookies.
cURL là gì?
>>> Xem thêm: URL là gì? Bí kíp tối ưu URL chuẩn SEO lên top Google
2. Sử dụng cURL PHP cơ bản như thế nào?
cURL có hỗ trợ việc truyền dữ liệu qua giao thức HTTPS. Ta có thể dùng cURL trong PHP để GET và POST dữ liệu, truy cập REST API service có kết hợp với JSON hoặc xác thực OAUTH.
- Thiết lập cURL
Bạn có thể cấu hình thêm một hoặc nhiều option nữa cho curl bằng curl_setopt. Các curl_setopt này phải được đặt trước curl_exec thì mới có hiệu lực. Đây là một hàm quan trọng trong cURL để xử lý các dữ liệu vào:
+ CURLOPT_RETURNTRANSFER: TRUE để curl_exec() trả về chuỗi chứ không xuất thẳng ra màn hình.
+ CURLOPT_CONNECTTIMEOUT: Thời gian cho phép cURL cố gắng kết nối (giây), 0 vô tận
+ CURLOPT_USERAGENT: Nội dung của dòng User-Agent: trong header của HTTP khi gửi yêu cầu
+ CURLOPT_URL: URL mà cURL gửi yêu cầu
+ CURLOPT_POST: TRUE – Thiết lập yêu cầu gửi theo phương thức POST
+ CURLOPT_POSTFIELDS: Mảng dữ liệu để POST
- Gửi request với cURL
Tạo tài nguyên cURL và thiết lập xong như trên, ta tiến hành gửi request với cURL bằng hàm curl_exec(). Kết quả trả về false hoặc true và giá trị là chuỗi trả về khi CURLOPT_RETURNTRANSFER thiết lập true. Sau khi gửi yêu cầu thành công, nhận hết giá trị trả về bạn cần đóng CURL bằng hàm curl_close($curl);
Sử dụng cURL PHP cơ bản như thế nào?
- Thực thi cURL
Để thực hiện việc gửi request, bạn cần sử dụng hàm: curl_exec().
Nếu ở bước 2, bạn thiết lập tùy chọn request với cấu trúc: curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) thì giá trị trả về của curl_exec() sẽ là một chuỗi khi kết quả là TRUE
- Đóng request và giải phóng tài nguyên
Để đóng request, bạn cần sử dụng hàm: curl_close(). Thao tác này sẽ giúp bạn tiết kiệm đáng kể tài nguyên của hệ thống và nâng cao hiệu suất cho server
>>> Xem thêm: 2 cách kiểm tra phiên bản php đơn giản nhanh nhất
3. Tổng hợp các lệnh cURL Linux Command
- Lệnh kiểm tra phiên bản cURL
cURL trong Linux có cú pháp: curl [OPTIONS] [URL]
Lệnh này có tác dụng giúp bạn biết được cURL đã được cài đặt hay chưa, phù hợp với giao thức nào. Lệnh kiểm tra phiên bản cURL thường được sử dụng để hiển thị nội dung trên trang
- Dùng cURL Command để tải file
Lệnh này dùng để tải một dữ liệu từ máy chủ ở xa. Có 2 cách thao tác:
+ Cách 1: Lưu file trên folder hiện hành
Tên file download xuống giống với tên file từ xa với cú pháp: curl -o https://yourdomain.com/yourfile.tar.gz
Dùng cách này file sẽ được lưu với tên yourfile.tar.gz
+ Cách 2: Cho phép tùy chọn tên file và đường dẫn lưu trữ
Cú pháp: curl -o newyourfile.tar.gz https://yourdomain.com/yourfile.tar.gz
Dùng cách này file sẽ được lưu với tên mới là newyourlife.tar.gz
Tổng hợp các lệnh cURL Linux Command
- Lệnh HTTP cURL Command
Được sử dụng như một Server proxy để tải file.
Cú pháp: curl -x sampleproxy.com:8090 -u username:password -o https://testdomain.com/testfile.tar.gz
Kiểm tra thông tin header của Web HTTP với câu lệnh: curl -i www.yourdomain.com
Sau đó gửi yêu cầu GET và POST
+ Cú pháp GET request: curl -data “text=Howareyou”
+ Cú pháp POST request: curl -data “text=Howareyou” https://mydomain.com/firstpage.jsp
- Lệnh cURL cho Cookies
Lệnh này giúp bạn kiểm tra các cookies nào được tải lên trên URL
Cú pháp: curl --cookie-jar mycookies.txt https://www.samplewebsite.com/index.html -o
Nếu có sẵn Cookies trong file, bạn có thể upload nó lên website. Câu lệnh áp dụng: curl --cookie mycookie.txt https://www.samplewebsite.com
- Lệnh cURL cho FTP
Để tải file từ máy chủ từ xa, bạn dùng câu lệnh : curl -u username:password -o ftp://nameftpserver/yourfile.tar.gz
Để tải file lên máy chủ FTP, bạn dùng câu lệnh: curl -u username:password -t yourfile.tar.gz ftp://nameftpserver
- Lệnh giới hạn output của cURL
Sử dụng lệnh này với cú pháp sau: curl --limit-rate 100k hrrp://testdomain.com/samplefile.tar.gz -o. Câu lệnh này đã giới hạn băng thông tải xuống là 100k. Giới hạn băng thông sẽ hạn chế tình trạng dung lượng file quá lớn khiến máy download chậm, nghẽn nặng,...
>>> Xem thêm: Câu lệnh PS trong Linux là gì?
4. Lời kết
Curl rất mạnh và được dùng phổ biến khắp nơi. Nó hữu dụng nhất khi bạn hay sử dụng dòng lệnh. Nó có nhiều lựa chọn khi thực hiện lệnh và hỗ trợ rất nhiều giao thức. Đây là lý do lớn để cần phải biết command này. Chúng tôi hy vọng bài hướng dẫn này có thể giúp bạn hiểu rõ cURL là gì, nó mạnh mẽ như thế nào. Và quan trọng nhất là bạn biết cách sử dụng cURL Command.
+ Fanpage: https://www.facebook.com/nhanhoacom
+ Chỉ đường: https://g.page/nhanhoacom
+ Chương trình khuyến mãi mới nhất: https://nhanhoa.com/khuyen-mai.html
————————————————————
CÔNG TY TNHH PHẦN MỀM NHÂN HÒA
Hotline: 1900 6680
Trụ sở chính: Tầng 4 - Tòa nhà 97-99 Láng Hạ, Đống Đa, Hà Nội
Tel: (024) 7308 6680 – Email: sales@nhanhoa.com
Chi nhánh: 270 Cao Thắng (nối dài), Phường 12, Quận 10, Tp.HCM
Tel: (028) 7308 6680 – Email: hcmsales@nhanhoa.com