Sub*_*kar 7 powershell post curl http
我试图curl使用 PowerShell运行命令。
下面是curl命令
curl --location --request POST "controller/lttrouter/v1/TestResult/process-data-results/" --form "synthesisreport=@"C:\Users\subu\Desktop\testdemo\SynthesisReport.csv";type=text/csv" --form "createdBy=subu" --form "jiraStoryId=LT1235" --form "jiraTaskId=LT1236" --form "tag=demo-test"
Run Code Online (Sandbox Code Playgroud)
以上curl正在处理命令提示符。
我试过下面的 PowerShell 代码
$CurlExecutable = "C:\curl-7.65.1-win64-mingw\bin\curl.exe"
$path="C:\Users\subu\Desktop\Test\SynthesisReport.csv"
Write-Host "CurlFile" $CurlFile
$CurlArguments = '--location','--request', 'POST',
'"controller/lttrouter/v1/TestResult/process-data-results/"',
'--form', 'synthesisreport=@$path',
'--form', 'createdBy=subu',
'--form', 'jiraStoryId=LT1235',
'--form', 'jiraTaskId=LT1236',
'--form', 'tag=demo-test'
& $CurlExecutable @CurlArguments
Run Code Online (Sandbox Code Playgroud)
我得到以下错误
curl.exe : curl: (26) 无法从文件/应用程序打开/读取本地数据
在行:13 字符:1
+ & $CurlExecutable @CurlArguments
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (curl: (26) Fail...ile/application:String) [], RemoteException
+ FullQualifiedErrorId : NativeCommandError
我在哪里做错了,请提出建议。
在这种情况下不要使用 splatting,只需传递参数列表($而不是@),正确添加引号并确保 $path 得到扩展:
$curlExecutable = "C:\curl-7.65.1-win64-mingw\bin\curl.exe"
$path = "C:\Users\subu\Desktop\Test\SynthesisReport.csv"
Write-Host "CurlFile" $curlExecutable
$curlArguments = "--location","--request", "POST",
"`"controller/lttrouter/v1/TestResult/process-data-results/`"",
"--form", "`"synthesisreport=@`"$path`";type=text/csv`"",
"--form", "`"createdBy=subu`"",
"--form", "`"jiraStoryId=LT1235`"",
"--form", "`"jiraTaskId=LT1236`"",
"--form", "`"tag=demo-test`""
& $curlExecutable $curlArguments
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20506 次 |
| 最近记录: |