跳到主內容

【web】【windows】【PowerShell】 iwr

`iwr` 是 Windows PowerShell 中的一個 cmdlet,用於發送 HTTP、HTTPS 或 FTP 請求,並檢索相應的響應。`iwr` 的全稱是 "Invoke-WebRequest"。這個 cmdlet 提供了一個簡潔的方式,讓使用者能夠與網頁或 Web 服務進行互動,進行數據擷取和其他 HTTP 操作。

以下是 `iwr` 的主要特點和使用示例:

主要特點:

  • 1. **HTTP、HTTPS、FTP 支持:** `iwr` 支持使用 HTTP、HTTPS 或 FTP 協議發送請求。
  • 2. **GET 和 POST 請求:** 可以發送 GET 或 POST 請求,允許向服務器請求資源或提交數據。
  • 3. **內建認證支援:** 支持使用 `-Credential` 參數提供的認證信息,用於訪問需要身份驗證的資源。
  • 4. **自定義標頭:** 可以使用 `-Headers` 參數添加自定義的 HTTP 標頭。
  • 5. **檔案上傳和下載:** 可以使用 `-InFile` 和 `-OutFile` 參數進行檔案的上傳和下載。
  • 6. **代理支持:** 可以使用 `-Proxy` 參數指定代理伺服器。

使用範例:

#1. **基本 GET 請求:** 發送一個基本的 GET 請求並檢索 https://www.example.com 的內容。
iwr https://www.example.com

#2. **POST 請求:** 發送一個 POST 請求,提交表單數據到 https://api.example.com。
iwr -Uri https://api.example.com -Method Post -Body "data=123" -ContentType "application/x-www-form-urlencoded"

#3. **帶有標頭的請求:** 添加自定義標頭,這裡演示了如何使用授權標頭。
iwr -Uri https://www.example.com -Headers @{"Authorization"="Bearer YourToken"}

#4. **檔案下載:** 下載文件到指定的本地路徑。
iwr -Uri https://www.example.com/file.zip -OutFile C:\Downloads\file.zip

#5. **檔案上傳:** 將本地文件上傳到遠端服務器。
iwr -Uri https://api.example.com/upload -Method Post -InFile C:\Documents\upload.txt

`iwr` 的靈活性使得它成為在 PowerShell 中進行簡單的網絡請求和操作的便捷工具。在使用時,請注意參數的選項和相應的用法。