Download app

Quét mã QR để tải về ứng dụng

QR code

cURL là gì?

11/05/2021, 10:00 am
2,438

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

https://nhanhoa.com

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

Bài viết liên quan
20/11/2024
Các fan cứng của Nhân Hòa đã biết Chương trình Black Friday 2024 sẽ có mức ưu đãi khủng là bao nhiêu % và áp dụng cho những...
19/11/2024
Đừng để website của bạn bị "tắt đèn" vì hết hạn tên miền! Hãy chủ động gia hạn tên miền để đảm bảo sự liên...
16/11/2024
Không phải bàn cãi việc WordPress đang là một trong những nền tảng hàng đầu trong việc xây dựng website hiện nay. Và giải...
Chuyên nghiệp và tận tình
Hỗ Trợ Trực Tuyến 24/7
Đội ngũ chuyên gia giúp xử lý vấn đề kỹ thuật để website của bạn luôn hoạt động tốt và chạy nhanh. Bất kỳ lúc nào.
Kết nối với Nhân Hoà

Map Tầng 4 - Toà nhà 97 - 99 Láng Hạ, Quận Đống Đa, Thành Phố Hà Nội

Phone Điện thoại: 1900 6680 - (024) 7308 6680

Mail Mail: sales@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Map 927/1 CMT8, Phường 7, Quận Tân Bình, Thành phố Hồ Chí Minh

Phone Điện thoại: 1900 6680 - (028) 7308 6680

Mail Mail: hcmsales@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Map Tầng 2 Tòa nhà Sài Gòn Sky, ngõ 26 Nguyễn Thái Học, phường Đội Cung, TP. Vinh, Nghệ An

Phone Điện thoại: 1900 6680 - (024) 7308 6680 - nhánh 6

Mail Mail: contact@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Kết nối với Nhân Hoà
Gọi lại cho tôi
Gọi miễn phí
Gọi miễn phí
×
Thông báo

Đăng nhập thành công!