11 Sử dụng lệnh cURL với ví dụ thời gian thực

cURL là một công cụ dòng lệnh để nhận hoặc gửi dữ liệu bằng cú pháp URL.


Nếu bạn đang làm việc như một nhà phát triển hoặc trong chức năng hỗ trợ, bạn phải nhận thức được sử dụng lệnh cURL để khắc phục sự cố ứng dụng web. cURL là tiện ích đa nền tảng có nghĩa là bạn có thể sử dụng trên Windows, MAC và UNIX.

Sau đây là một số cú pháp được sử dụng nhiều nhất với một ví dụ để giúp bạn.

Xác minh xem bạn có thể kết nối với URL không

Nếu bạn đang làm việc trên một hệ thống UNIX và cố gắng kết nối URL bên ngoài, điều đầu tiên bạn muốn làm là kiểm tra xem bạn có thể truy cập URL thông qua curl không.

curl yoururl.com

Nó sẽ không ném bất kỳ đầu ra. Tuy nhiên, nếu máy chủ có thể kết nối, thì bạn sẽ gặp lỗi như không thể giải quyết máy chủ.

[[email được bảo vệ] tmp] # curl helloitdoesntexist.com
curl: (6) Không thể giải quyết máy chủ: helloitdoesntexist.com; Lỗi không thể nhận biết
[[email được bảo vệ] tmp] #

Lưu đầu ra URL / URI vào tệp

Nếu bạn phải lưu nội dung URL hoặc URI vào một tệp cụ thể, bạn có thể sử dụng cú pháp sau

cuộn tròn https://yoururl.com > yoururl.html

Ví dụ:

[[email được bảo vệ] tmp] # curl https://gf.dev > / tmp / gfhtml
% Tổng số% Đã nhận% Xferd Tốc độ trung bình Thời gian Thời gian Hiện tại
Tải lên Dload Tổng tốc độ còn lại
100 18557 0 18557 0 0 72565 0 -: -: – -: -: – -: -: – 72772
[[email được bảo vệ] tmp] #

Ví dụ trên sẽ lưu tất cả nội dung từ gf.dev vào /tmp/gf.html

Hiển thị tiêu đề yêu cầu và phản hồi

Nếu bạn gặp sự cố và muốn xác thực, bạn sẽ nhận được yêu cầu và tiêu đề phản hồi dự kiến.

curl -v yoururl.com

Ví dụ:

[[email được bảo vệ] tmp] # curl -v https://geekflare.com
* Sắp kết nối () với cổng geekflare.com 443 (# 0)
* Đang thử 104.25.134.107…
* Đã kết nối với geekflare.com (104.25.134.107) cổng 443 (# 0)
* Khởi tạo NSS bằng certpath: sql: / etc / pki / nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
Thông báo: không có
* Kết nối SSL bằng TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Chứng chỉ máy chủ:
* chủ đề: CN = ssl371609.cloudflaressl.com, OU = positiveSSL Multi-Domain, OU = Kiểm soát miền được xác thực
* ngày bắt đầu: 07 tháng 11 00:00:00 2019 GMT
* ngày hết hạn: 15 tháng 5 23:59:59 2020 GMT
* tên chung: ssl371609.cloudflaressl.com
* nhà phát hành: CN = COMODO ECC Xác thực tên miền Máy chủ bảo mật CA 2, O = COMODO CA Limited, L = Salford, ST = Greater Manchester, C = GB
> NHẬN / HTTP / 1.1
> Tác nhân người dùng: curl / 7.29.0
> Chủ nhà: geekflare.com
> Chấp nhận: */*
>
< HTTP / 1.1 200 OK
< Ngày: Thứ Bảy, ngày 09 tháng 11 năm 2019 19:41:37 GMT
< Loại nội dung: văn bản / html; bộ ký tự = UTF-8
< Chuyển mã hóa: chunked
< Kết nối: giữ mạng
< Set-Cookie: __cfduid = d2ce6cd359ebc0b6eb5ff3a454ed042021573328497; hết hạn = CN, 08-ngày 20 tháng 11 19:41:37 GMT; đường dẫn = /; tên miền = .geekflare.com; HttpOnly; Đảm bảo
< Thay đổi: Chấp nhận mã hóa
< Liên kết :; quan hệ"https://api.w.org/"
< Liên kết :; rel = liên kết ngắn
< X-SRCache-Fetch-Status: HIT
< X-SRCache-Store-Status: BYPASS
< Tùy chọn khung X: SAMEORIGIN
< X-Powered-By: EasyEngine v4.0.12
< Qua: 1.1 google
< CF-Cache-Status: NĂNG ĐỘNG
< Strict-Transport-Security: max-age = 15552000; tải trước
< Tùy chọn loại nội dung X: nosniff
< Alt-Svc: h3-23 =": 443"; ma = 86400
< Expect-CT: max-age = 604800, báo cáo-uri ="https://report-uri.cloudflare.com/cdn-cgi/beacon/Exect-ct"
< Máy chủ: đám mây
< CF-RAY: 533243e4bcd4bbf4-LHR
<

Tải xuống ở mức giới hạn

Nếu bạn đang làm việc về tối ưu hóa và muốn xem cần bao nhiêu thời gian để tải xuống ở một tốc độ cụ thể, bạn có thể:-

curlifer-limit-Rate 2000B

Ví dụ:

curl triệt -limit-Rate 2000B https://gf.dev

Sử dụng proxy để kết nối

Rất tiện dụng nếu bạn đang làm việc trên máy chủ DMZ nơi bạn cần kết nối với thế giới bên ngoài bằng proxy.

curl –proxy yourproxy: port https://yoururl.com

Kiểm tra URL với tiêu đề tiêm

Bạn có thể sử dụng curl bằng cách chèn một tiêu đề với dữ liệu của bạn để kiểm tra hoặc khắc phục sự cố cụ thể. Hãy cùng xem các ví dụ sau để yêu cầu với Kiểu nội dung.

curl –header ‘Loại nội dung: application / json’ http://yoururl.com

Bằng cách thực hiện ở trên, bạn đang yêu cầu curl chuyển Kiểu nội dung dưới dạng ứng dụng / json trong tiêu đề yêu cầu.

Chỉ hiển thị tiêu đề phản hồi

Nếu bạn đang thực hiện một số khắc phục sự cố và muốn nhanh chóng kiểm tra tiêu đề phản hồi, bạn có thể sử dụng cú pháp sau.

cuộn tròn – đầu http://yoururl.com

Ví dụ:

[[email được bảo vệ] tmp] # curl – đầu https: // Vendan.io
HTTP / 1.1 200 OK
Ngày: Thứ bảy, 09 tháng 11 năm 2019 19:51:23 GMT
Loại nội dung: văn bản / html
Kết nối: giữ mạng
Đặt-Cookie: __cfduid = d3cb2c7b8e566ad99c870b0af12b0f1eb1573329083; hết hạn = CN, 08-ngày 20 tháng 11 năm 19:51:23 GMT; đường dẫn = /; tên miền = .framan.io; HttpOnly
X-GUploader-UploadID: AEnB2Uo96JhvJmR2zYUL-Ndh2ta3UD_ykQAB5C7O8cjZQhCf-GxHQ0MsodSzRnl3guSN3
Hết hạn: Thứ bảy, 09 tháng 11 năm 2019 20:51:23 GMT
Kiểm soát bộ nhớ cache: công khai, tuổi tối đa = 3600
Sửa đổi lần cuối: Thứ Hai, ngày 06 tháng 8 năm 2018 10:45:47 GMT
thế hệ x-goog: 1533552347482034
x-goog-metageneration: 1
x-goog-archive-content-mã hóa: danh tính
x-goog-archive-content-length: 24620
x-goog-băm: crc32c = DpDPAQ ==
x-goog-băm: md5 = cIP / 3rusdUx12Zla1kf1yA ==
x-goog-lưu trữ-lớp: MULTI_REGIONAL
Phạm vi chấp nhận: byte
CF-Cache-Status: NĂNG ĐỘNG
Expect-CT: max-age = 604800, báo cáo-uri ="https://report-uri.cloudflare.com/cdn-cgi/beacon/Exect-ct"
Máy chủ: đám mây
CF-RAY: 53325234dc2fbb9a-LHR

[[email được bảo vệ] tmp] #

Kết nối URL HTTPS / SSL và bỏ qua mọi lỗi chứng chỉ SSL

Khi bạn cố gắng truy cập URL được bảo mật của chứng chỉ SSL / TLS và nếu đó là chứng nhận sai hoặc CN không khớp với nhau, thì bạn sẽ gặp lỗi sau.

curl: (51) Không thể liên lạc an toàn với ngang hàng: tên miền được yêu cầu không khớp với chứng chỉ của máy chủ.

Tin vui, bạn có thể hướng dẫn cURL bỏ qua lỗi cert với cờ –insecure.

curl – bảo mật https://yoururl.com

Kết nối bằng một giao thức cụ thể (SSL / TLS)

Rất thuận tiện để kiểm tra xem một URL cụ thể có thể bắt tay với giao thức SSL / TLS cụ thể không.

Để kết nối bằng SSL v3

cuộn tròn –sslv3 https://yoururl.com

và cho các phiên bản TLS khác nhau

cuộn tròn –tlsv1 https://example.com
cuộn tròn –tlsv1.0 https://example.com
cuộn tròn –tlsv1.1 https://example.com
cuộn tròn –tlsv1.2 https://example.com
cuộn tròn –tlsv1.3 https://example.com

Tải xuống tệp từ Máy chủ FTP

Bạn cũng có thể sử dụng curl để tải xuống tệp bằng cách chỉ định tên người dùng và mật khẩu.

người dùng curl -u: mật khẩu -O ftp: //ftpurl/style.css

Bạn luôn có thể sử dụng-vCó thể sử dụng bất kỳ cú pháp nào để in ở chế độ dài.

Sử dụng tiêu đề máy chủ

Tiêu đề máy chủ rất hữu ích để kiểm tra URL mục tiêu qua IP khi nội dung được yêu cầu chỉ khả dụng khi tiêu đề máy chủ khớp. Hoặc, nếu bạn muốn kiểm tra ứng dụng bằng IP / URL cân bằng tải.

curl –header ‘Host: targetapplication.com’ https://192.0.0.1:8080/

Làm thế nào về việc sử dụng cURL trực tuyến?

Vâng, điều đó có thể với các công cụ sau đây. Bạn có thể thực thi cURL từ xa.

HIỆN TẠI – một công cụ nhẹ để tìm nạp URL trực tuyến và khả năng thêm các tùy chọn sau.

–thời gian chờ kết nối
–bánh quy
–dữ liệu
–tiêu đề
–cái đầu
–vị trí
–thời gian tối đa
–Ủy quyền
–yêu cầu
–người dùng
–url
–đại lý người dùng

Trình xây dựng dòng lệnh cURL – cái này thì khác. Nó giúp bạn xây dựng lệnh curl nơi bạn có thể nhập thông tin vào giao diện người dùng đẹp và ở phía dưới, bạn sẽ nhận được lệnh cURL.

người xây dựng

cURL là một tiện ích hữu ích để khắc phục sự cố kết nối thời gian thực và tôi hy vọng những điều trên sẽ giúp bạn. Nếu bạn đang muốn tìm hiểu thêm, thì tôi khuyên bạn nên Khái niệm cơ bản về dòng lệnh Linux khóa học trực tuyến.

THẺ

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map