代码之家  ›  专栏  ›  技术社区  ›  thisisdude

powershell中上传apk文件的curl等价命令是什么?

  •  0
  • thisisdude  · 技术社区  · 6 年前

    我正在尝试使用Perfecto执行CI/CD,因此当我的竹子构建完成时,我正在尝试将文件上载到Perfecto。

    当我们有一个Linux服务器时,我尝试使用以下cURL命令。

    curl -X POST --upload-file test.apk 'https://****.perfectomobile.com/services/repositories/media/PRIVATE:test.apk?operation=upload&user=<email>&password=<password>&overwrite=true'
    

    现在我们的服务器改成了Windows,因此我想要一个powershell脚本,我可以将它用作Bamboo中的内联脚本。

    多谢提前。

    1 回复  |  直到 6 年前
        1
  •  1
  •   srbrills    6 年前
    # Gather your information.
    $email = "myEmail@website.com";
    $password = "powershellR0cks!";
    $subDomain = "****";
    $url = "https://$subDomain.perfectomobile.com/services/repositories/media/PRIVATE:test.apk?operation=upload&user=$email&password=$password&overwrite=true";
    $filePath = ".\test.apk";
    
    # Make the request.
    $response = Invoke-WebRequest -Uri $URL -Method Post -InFile $filePath -ContentType "application/octet-stream";
    
    # Check for success.
    if (-not ($response.StatusCode -eq 200)) {
        throw "There was an error uploading the APK manifest.";
    }
    

    您可能需要检查 -ContentType

    $response HtmlWebResponseObject 它包含了响应的内容、状态代码和其他一些有用的信息。您可以通过运行 $response | Get-Member

    最后 Invoke-WebRequest cmdlet还有其他可能对您有用的参数,例如 -Credential , -Headers ,等等。

    https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-5.1

    顺便说一下,如果你跑 Get-Alias -Name "curl" ,你可以随时看到 curl 在PowerShell,你真的只是打电话 调用WebRequest 卷曲