Curl là gì?
- curl là một công cụ dòng lệnh, hỗ trợ rất nhiều giao thức: http, https, ftp, …
Curl được sử dụng ở đâu?
- curl được sử dụng trong các dòng lệnh hoặc tập lệnh để truyền dữ liệu. curl cũng là libcurl, được sử dụng trong ô tô, tivi, bộ định tuyến, máy in, thiết bị âm thanh, điện thoại di động, máy tính bảng, thiết bị y tế, đầu thu kỹ thuật số, trò chơi máy tính, trình phát đa phương tiện và là công cụ truyền tải Internet cho vô số ứng dụng phần mềm với hơn hai mươi tỷ lượt cài đặt.
- Curl được hầu như tất cả mọi người sử dụng Internet trên toàn cầu sử dụng hàng ngày.
–verbose (-v)
- Flag này giúp hiển thị chi tiết cách giao tiếp giữa client với server: header là gì, 2 phía giao tiếp với nhau theo thứ tự là gì đều được hiển thị ra, … .
–trace-ascii <file-path>
- Cờ này để ghi thông tin ra file, trace sẽ dễ dàng hơn.
curl --trace-ascii debugdump.txt http://www.example.com/
–trace-time
- Cờ này được sử dụng với
--trace-ascii để log lại các mốc thời gian request làm gì với máy chủ.
curl --trace-ascii d.txt --trace-time http://example.com/
-o hoặc -O <file-path>
- là viết tắt của output.
- Nếu chỉ định
file-path thì dữ liệu trả về của curl được in ra stdout, ngược lại sẽ được ghi ra file.
- Ứng dụng này thích hợp cho việc download sau đó thực thi file.
curl -o d.txt http://example.com/
–resolve <host:port:ip>
- Cờ này được giới thiệu ý nghĩa là thay vì sử dụng dịch vụ DNS hoặc máy bạn tự dịch DNS thì dùng cờ này bạn sẽ chỉ định IP mà thay vì sử dụng DNS để phân giải tên miền.
curl --resolve www.example.org:80:127.0.0.1 http://www.example.org/
-u
curl http://user:password@example.org/
// or
curl -u user:password http://example.org/
Fetch a page
GET
- Sử dụng rất đơn giản thôi
curl <url> để lấy response của url.
- Để hiển thị ra phần header thì thêm -i để hiển thị ra tất cả phần bị ẩn.
HEAD
- Sử dụng cờ
-I hoặc --head .
- Bạn có thể nhìn thấy toàn bộ header của url. Trong đó có cả content-length nhưng đó ko phải content-length thực sự của response body.
Multiple url theo thứ tự
- Sử dụng cờ
--next để chỉ định yêu cầu tiếp theo.
- Ví dụ thực hiện lấy header, sau đó lấy response của page.
curl -I http://example.com --next http://example.com
- Ví dụ thực hiện post form, sau đó lấy response kết quả.
curl -d score=10 http://example.com/post.cgi --next http://example.com/results.html
Multiple request cùng lúc
- Ko giới hạn số lượng request trong 1 command
- Ví dụ: thực hiện 2 request GET
curl http://url1.example.com http://url2.example.com
curl --data name=curl http://url1.example.com http://url2.example.com