Gửi một yêu cầu HTTP

PowerShell:
Gửi một yêu cầu HTTP

Cách thực hiện:

Dưới đây là cách đơn giản để gửi một yêu cầu GET:

$response = Invoke-RestMethod -Uri 'https://api.example.com/data' -Method Get
Write-Output $response

Và, nếu bạn muốn POST một số thông tin:

$body = @{
    'name' = 'Jane Doe'
    'occupation' = 'Space Ranger'
}

$response = Invoke-RestMethod -Uri 'https://api.example.com/users' -Method Post -Body ($body | ConvertTo-Json)
Write-Output $response

Kết quả mẫu:

name         occupation
----         ----------
Jane Doe     Space Ranger

Sâu hơn:

Việc gửi một yêu cầu HTTP quay lại với bình minh của việc phát triển web. Bạn đang tham gia vào một cuộc đối thoại với web bằng ngôn ngữ bản địa của nó, HTTP. Cmdlet Invoke-RestMethod của PowerShell là công cụ được chọn ở đây. Trước Invoke-RestMethod, Invoke-WebRequest là lựa chọn hàng đầu, và nó vẫn còn được sử dụng cho các phản hồi chi tiết hơn.

Nếu bạn muốn thử nghiệm, có những lựa chọn khác như curl hoặc lớp HttpClient của .NET. Khi sử dụng Invoke-RestMethod, hãy nhớ rằng nó là một bọc lấy cho các lớp và phương thức HttpClient của .NET, đem lại sự đơn giản nhưng đánh đổi một số kiểm soát ở cấp thấp.

Về mặt triển khai, hãy nhớ rằng các yêu cầu HTTP đi kèm với các phương thức như GET, POST, PUT, v.v. Tùy chỉnh tiêu đề với -Headers, và quản lý thời gian chờ và xác thực với các tham số bổ sung như cần thiết. Luôn làm sạch đầu vào nếu bạn sử dụng nội dung do người dùng tạo để tránh các cuộc tấn công chèn mã.

Xem Thêm: