1. 程式人生 > 其它 >PowerShell 實現 curl 的使用者名稱和密碼邏輯

PowerShell 實現 curl 的使用者名稱和密碼邏輯

技術標籤:powershell

在使用 curl 時,可以採用 -u 加上使用者名稱和密碼,這個對應在 PowerShell 也就是不到 10 句話的事情

假定使用 curl 輸入的是如下程式碼

curl -ulindexi:AP7doYUzM7WApXobRb7X9qgURCF -T "E:\lindexi\doubi.exe" "https://blog.lindexi.com/artifactory/doubi.exe"

通過上面程式碼可以給我的儲存服務上傳檔案

此時的 -ulindexi:AP7doYUzM7WApXobRb7X9qgURCF 的含義就是 -u <使用者名稱:密碼>

在對應的 Http 裡面就是在 Head 的 Authorization 加入資訊

在 PowerShell 中,按照規範需要傳入一段 base64 的字元,於是程式碼如下

$encodedAuthString =  [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("lindexi:AP7doYUzM7WApXobRb7X9qgURCF")) 
$Headers = 
@{
    Authorization = "Basic $encodedAuthString"
}

Invoke-WebRequest -Method Put -Uri "https://blog.lindexi.com/artifactory/doubi.exe" -Headers $Headers -InFile "E:\lindexi\doubi.exe"

感謝工具人 lsj 提供的方法

知識共享許可協議
本作品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名林德熙(包含連結:http://blog.csdn.net/lindexi_gd ),不得用於商業目的,基於本文修改後的作品務必以相同的許可釋出。如有任何疑問,請與我聯絡。