/ / Cách tạo yêu cầu HTTP với curl

Cách tạo yêu cầu HTTP với curl

laptop terminal code

Giao thức truyền tải siêu văn bản (HTTP) là xương sống của giao tiếp qua Internet, cho phép truyền dữ liệu giữa máy chủ và máy khách. Tuy nhiên, việc tương tác với các điểm cuối HTTP có thể là một thách thức, đặc biệt đối với người mới bắt đầu.


May mắn thay, curl, một công cụ dòng lệnh, cung cấp một cách dễ dàng và hiệu quả để gửi và nhận các yêu cầu HTTP. Tại đây, bạn sẽ tìm hiểu cách sử dụng curl để thực hiện các yêu cầu HTTP POST, GET, DELETE và PUT cơ bản.


cài đặt cuộn tròn

Theo mặc định, curl được cài đặt trên các hệ điều hành chính bao gồm macOS, Linux và Unix.

Bạn có thể xác nhận rằng bạn đã cài đặt curl bằng cách chạy lệnh bên dưới:

 curl

Lệnh trên sẽ in “thử ‘curl –help’ hoặc ‘curl –manual’ để biết thêm thông tin” trên thiết bị đầu cuối của bạn.

Nếu curl chưa được cài đặt trên hệ điều hành của bạn, bạn có thể tải xuống và cài đặt nó từ trang tải xuống curl.

Thực hiện yêu cầu HTTP GET

Yêu cầu HTTP GET là phương pháp yêu cầu dữ liệu từ máy chủ web. Bạn có thể sử dụng các yêu cầu này để truy xuất một tài nguyên cụ thể, chẳng hạn như trang web, hình ảnh hoặc video.

Bạn có thể thực hiện yêu cầu GET với curl theo định dạng bên dưới:

 curl -X GET <URL>

Thay thế với URL của tài nguyên bạn muốn tìm nạp.

Ví dụ:

 curl -X GET https://example.com/todos/1

Chạy lệnh trên tạo một yêu cầu HTTP GET tới URL https://example.com/todos/1. Các -X NHẬN tùy chọn chỉ định rằng phương thức HTTP là GET. Khi lệnh chạy, curl sẽ gửi yêu cầu GET đến máy chủ được chỉ định trong URL và đợi phản hồi của máy chủ.

Nếu máy chủ phản hồi với mã trạng thái thành công, Xoăn hiển thị nội dung phản hồi trong thiết bị đầu cuối, trong trường hợp này, sẽ là dữ liệu JSON về mục việc cần làm có ID là 1.

Ngoài ra, bạn có thể thực hiện yêu cầu GET mà không chỉ định -X bởi vì, theo mặc định, curl tạo một yêu cầu GET khi bạn không chỉ định một phương thức yêu cầu với -X lá cờ.

Ví dụ:

 curl https://example.com/todos/1

Chạy lệnh trên sẽ trả về phản hồi giống như lệnh trước đó với “-X NHẬN” lá cờ.

Thực hiện yêu cầu HTTP POST

Yêu cầu POST HTTP là một phương pháp để lưu dữ liệu vào máy chủ web. Không giống như yêu cầu GET gửi dữ liệu như một phần của URL, yêu cầu POST gửi dữ liệu trong nội dung thư của yêu cầu. Điều này làm cho các yêu cầu POST an toàn hơn để truyền thông tin nhạy cảm.

Bạn có thể thực hiện yêu cầu POST với curl ở định dạng bên dưới:

 curl -X POST -d <data> <URL>

Ví dụ:

 curl -X POST -d 'name=jack' -d 'email=jack@example.com' 
 https://example.com/users

Lệnh trên gửi yêu cầu POST tới https://example.com/users với dữ liệu được chỉ định bởi -d gắn cờ dưới dạng tải trọng.

Các -d cờ chỉ định dữ liệu để gửi. Trong trường hợp này, nó chỉ định hai tham số dữ liệu: tên = jack và email=jack@example.com.

Khi bạn sử dụng -d gắn cờ nhiều lần trong một lệnh, bạn có thể hợp nhất các trường bằng ký hiệu &.

Ví dụ:

 curl -d "name=jack&email=jack@example.com" https://example.com/api/users

Một số dữ liệu bạn có thể cố gắng gửi trong yêu cầu POST có thể khó khớp với một chuỗi trong thiết bị đầu cuối của bạn. Trong những trường hợp như thế này, lý tưởng nhất là đọc và ĐĂNG dữ liệu từ một tệp bằng cách sử dụng curl.

Để gửi dữ liệu từ một tệp trong yêu cầu POST dưới dạng tải trọng có cuộn tròn, hãy sử dụng @ ký ngay sau khi -d cờ, theo sau là đường dẫn tệp đến tệp bạn muốn curl gửi yêu cầu.

Ví dụ:

 curl -X POST -d @users.txt https://example.com/api/users

Chỉ định Loại nội dung

Sử dụng -d cờ tự động đặt tiêu đề Loại nội dung thành ứng dụng/x-www-form-urlencoded. Tuy nhiên, bạn có thể chỉ định Loại nội dung phù hợp theo cách thủ công cho yêu cầu của mình bằng cách sử dụng -H hoặc –header cờ theo sau là loại nội dung mong muốn.

Ví dụ:

 curl -H "Content-Type: application/json" 
 -d '{"name": "Jack", "email": "jack@example.com"}'
 https://example.com/api/users

Trong lệnh trên, các -H cờ chỉ định tiêu đề Loại nội dung là Loại nội dung: ứng dụng/json.

bạn có thể thay thế ứng dụng/json với bất kỳ loại MIME hoặc loại nội dung hợp lệ nào khác phù hợp với dữ liệu bạn đang gửi trong phần thân yêu cầu. Ví dụ: khi tải lên dữ liệu Nhị phân, chẳng hạn như tệp hình ảnh hoặc âm thanh, bạn nên đặt Loại nội dung thành nhiều phần/biểu mẫu dữ liệu.

Điều này cho phép bạn chỉ định định dạng dự kiến ​​của dữ liệu đã gửi, điều này có thể quan trọng khi tương tác với API hoặc dịch vụ web yêu cầu các loại nội dung cụ thể để xử lý phù hợp.

Thực hiện yêu cầu HTTP PUT

Yêu cầu HTTP PUT là phương pháp cập nhật tài nguyên hiện có trên máy chủ web hoặc tạo tài nguyên nếu tài nguyên không tồn tại. Phương thức này khác với phương thức POST ở chỗ nó là idempotent. Điều này có nghĩa là việc gọi phương thức PUT một lần hoặc nhiều lần liên tiếp đều có tác dụng tương tự đối với máy chủ.

Bạn có thể thực hiện yêu cầu PUT với curl theo định dạng bên dưới:

 curl -X PUT -H "Content-Type: application/json" 
 -d '{"name": "Jack Bauer", "email": "jackbauer024@example.com"}'
 https://example.com/api/users/4

Lệnh trên gửi yêu cầu PUT ở định dạng JSON đến máy chủ web được chỉ định trong URL ở trên và cập nhật tài nguyên được chỉ định. Nếu tài nguyên được chỉ định không tồn tại, nó sẽ tạo tài nguyên trên máy chủ web.

Thực hiện một yêu cầu XÓA HTTP

Yêu cầu XÓA HTTP là một phương pháp để xóa tài nguyên được chỉ định khỏi máy chủ web. Tương tự như các yêu cầu PUT, các yêu cầu XÓA là bình thường. Gửi cùng một yêu cầu XÓA nhiều lần tới cùng một tài nguyên sẽ tạo ra cùng một kết quả trên máy chủ.

Bạn có thể thực hiện yêu cầu XÓA với curl bằng cách chạy lệnh bên dưới:

 curl -X DELETE http://example.com/api/users/3

Lệnh trên gửi yêu cầu XÓA tới máy chủ web được chỉ định trong URL ở trên và xóa tài nguyên được chỉ định.

Xóa yêu cầu xóa vĩnh viễn tài nguyên được chỉ định khỏi máy chủ. Do đó, một máy chủ web hỗ trợ XÓA thường yêu cầu một hình thức xác thực hoặc ủy quyền trước khi bạn có thể thực hiện yêu cầu này.

Đây là cách thực hiện yêu cầu XÓA với tiêu đề ủy quyền:

 curl -X DELETE -H "Authorization: Bearer my_access_token" 
 https://example.com/api/users/3

Lệnh trên cung cấp thông tin xác thực trong tiêu đề yêu cầu bằng phương thức xác thực Bearer với -H lá cờ. Ủy quyền: Bearer my_access_token là giá trị tiêu đề. my_access_token là trình giữ chỗ cho giá trị mã thông báo truy cập thực tế của bạn.

Những cách khác bạn có thể thực hiện yêu cầu HTTP

Ngoài curl, có nhiều cách để thực hiện các yêu cầu HTTP tùy thuộc vào ngữ cảnh của yêu cầu. Các phương pháp phổ biến nhất bao gồm sử dụng trình duyệt web như Chrome, công cụ GUI như Postman hoặc ứng dụng khách API.

Mỗi tùy chọn này đều đi kèm với những lợi thế và sự đánh đổi của nó. Cuối cùng, sự lựa chọn của bạn về một công cụ sẽ phụ thuộc vào yêu cầu của nhiệm vụ của bạn.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *