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ã.