Trang chủ Kiến thức cơ bản

CURL là gì? Dự án phần mềm mã nguồn mở cURL

CURL là gì? Dự án phần mềm mã nguồn mở cURL

cURL là một dự án phần mềm mã nguồn mở cung cấp một thư viện (libcurl) và một công cụ dòng lệnh (curl) cho việc trao đổi dữ liệu thông qua một số giao thức mạng sử dụng URL. cURL được đóng góp và phát triển bởi rất nhiều người trên toàn thế giới. Trên trang chủ của cURL, số người đóng góp code, phản hồi,… lên đến 2239 người.

CURL là gì? Dự án phần mềm mã nguồn mở cURL - Ảnh 1.

Logo của cURL

Thông tin về cURL:

- Trang chủ: https://curl.haxx.se/

- Bản đầu tiên vào năm 1997

- Bản Stable hiện tại: 7.72.0 vào ngày 19/04/2020

- Mã nguồn: https://github.com/curl/curl

- Ngôn ngữ code chính: C

URL là gì

URL (Uniform Resource Locator), tên gọi thông thường là địa chỉ web (web address), là một tham chiếu đến tài nguyên web chỉ định vị trí của nó trên một mạng máy tính và cơ chế để truy xuất nó. URL là một dạng của Uniform Resource Identifier (URI), vì vậy cú pháp của URL tuân theo cú pháp của URI.

_________________

URI là một chuỗi kí tự xác định một tài nguyên nào đó tuân theo một cú pháp được định nghĩa sẵn. URL và URI là hai khái niệm khác nhau, nhưng hầu như đều được sử dụng khi nói đến địa chỉ web.

_________________

URL thường dùng nhất là địa chỉ của các trang web (cú pháp http://...). Hầu hết các trình duyệt web hiển thị URL ở thanh địa chỉ (Address bar).

CURL là gì? Dự án phần mềm mã nguồn mở cURL - Ảnh 2.

Thanh địa chỉ với URL

Một URL điển hình sẽ có 3 phần chính là giao thức, hostname và tên file.

Ví dụ: http://www.example.com/index.html

- http là giao thức Hypertext Transfer Protocol

- www.example.com là tên của hostname

- index.html là tên của file

>> Tìm hiểu thêm: URL là gì? Tiêu chí của URL chuẩn SEO

cURL là gì

Như đã nói ở trên, cURL cung cấp một công cụ dòng lệnh và một thư viện cho việc trao đổi dữ liệu qua URL.

Những giao thức, phương thức và các công nghệ cURL hỗ trợ bao gồm: DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet, TFTP, chứng chỉ SSL, proxy, cookies, xác thực tài khoản (Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate và Kerberos),…

Với công cụ dòng lệnh curl, các câu lệnh thường có cú pháp dạng dưới đây:

curl –v -d arbitrary http://example.com

Với curl là tên chương trình sử dụng, –v -d arbitrary là tên các lựa chọn (option) cùng với tham số, http://example.com là địa chỉ URL.

_________________

Với Windows Powershell từ bản 3.0 trở đi, nếu như chạy câu lệnh với curlInvoke-WebRequest sẽ được chạy vì curl là một alias của Invoke-WebRequest, để chạy curl từ libcurl, ta phải ghi rõ chương trình mà dòng lệnh sử dụng là curl.exe.

_________________

Curl không phân biệt thứ tự bên trong câu lệnh, nên với câu lệnh ở trên:

curl –v -d arbitrary http://example.com

Ta hoàn toàn có thể viết như sau:

curl http://example.com –v -d arbitrary

Hai câu lệnh sẽ thực hiện cùng một lệnh và trả về giá trị như nhau.

Với các lựa chọn, chúng ta có hai kiểu viết là viết tắt (short option) hoặc viết đầy đủ (long option).

Với cách viết ngắn, ta sử dụng một dấu gạch ngang rồi kế tiếp là kí tự của lựa chọn. Ví dụ -d <data> là gửi dữ liệu data đến HTTP server qua phương thức HTTP POST, -G là lựa chọn gửi data của lựa chọn -d <data>  HTTP GET thay cho HTTP POST, -4 cho việc phân giải URL bằng địa chỉ IPv4.

_________________

Curl phân biệt chữ hoa với chữ thường, nên hai kí tự hoa và thường có thể là hai lựa chọn khác nhau.

_________________

Với cách viết đầy đủ, ta sử dụng hai dấu gạch ngang –– rồi kế tiếp là tên của lựa chọn. Ví dụ: --version là lựa chọn output thông tin phiên bản, --output <filename> là lựa chọn viết output ra file với tên là filename.

Một số lựa chọn cần tham số phía sau, ta viết ngay sau lựa chọn và cách nhau bởi một dấu cách: --output <filename> Với nhiều lựa chọn cùng với tham số tương ứng, viết các lựa chọn cách nhau bởi dấu cách, ngoài ra, các lựa chọn với cách viết ngắn và không có tham số có thể viết dính vào nhau và sử dụng chỉ một dấu gạch ngang –. Ví dụ: -vL

Nếu như tham số không phải là một từ mà có các dấu cách thì phải thêm hai dấu ngoặc đơn hoặc ngoặc kép. Việc sử dụng ngoặc đơn có thể không sử dụng được trong một số giao diện dòng lệnh (Command-line interface hay CLI).

curl –v -d "Du lieu" http://example.com

Một số lựa chọn (như lựa chọn –d) nếu như cần sử dụng một file nào đó, thêm @ vào trước tên file và đưa vào tham số.

curl –v -d @file.txt http://example.com

Lưu ý:

Trong dòng lệnh curl, ngoài từ curl chỉ có 3 thành phần: lựa chọn được bắt đầu bằng dấu gạch ngang – hoặc hai dấu gạch ngang ––, tham số đứng ngay sau lựa chọn có tham số và URL. Vì vậy với câu lệnh dưới đây:

curl –v -d Du lieu http://example.com

–v–d sẽ được hiểu là các lựa chọn, Du sẽ được hiểu là tham số của lựa chọn –d, còn lieu http://example.com sẽ được hiểu là các URL.

 Theo BizFly Cloud tìm hiểu

>> Có thể bạn quan tâm: PHP: Kích hoạt cURL trong Windows

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI tại: https://manage.bizflycloud.vn/