#powershell #curl
#powershell #curl
Вопрос:
У меня есть команда curl, которая выглядит следующим образом:
curl -u secret: -X POST https://api.flood.io/floods
-F "flood[tool]=jmeter"
-F "flood[threads]=10"
-F "flood[rampup]=60"
-F "flood[duration]=300"
-F "flood[privacy]=public"
-F "flood[name]=Performance Test"
-F "flood_files[]=@SitemapPerfTest.jmx"
-F "flood[grids][][infrastructure]=demand"
-F "flood[grids][][instance_quantity]=1"
-F "flood[grids][][region]=us-west-2"
-F "flood[grids][][instance_type]=m5.xlarge"
-F "flood[grids][][stop_after]=5"
Я пытаюсь написать эквивалентную команду в powershell, но испытываю трудности с @SitemapPerfText.jmx
частью.
Вот что я пытаюсь:
$username = "secret"
$password = ""
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$floodFile = [IO.File]::ReadAllText('SitemapPerfTest.jmx');
$params = @{
"flood[tool]"="jmeter";
"flood[threads]"="10";
"flood[rampup]"="60";
"flood[duration]"="300";
"flood[privacy]"="public";
"flood[name]"="Performance Test";
"flood_files[]"="$floodFile";
"flood[grids][][infrastructure]"="demand";
"flood[grids][][instance_quantity]"="1";
"flood[grids][][region]"="us-west-2";
"flood[grids][][instance_type]"="m5.xlarge";
"flood[grids][][stop_after]"="5";
}
Invoke-WebRequest -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method Post -Uri "https://api.flood.io/floods" `
-ContentType 'multipart/form-data' `
-Body $params
Однако, похоже, что удаленная служба не распознает файл, который я отправляю. Какая команда powershell эквивалентна @file
параметру в cURL?
Комментарии:
1.
$floodFile
похоже, что в нем есть содержимое, которое вы ищете? Это текстовый файл?2. Да, это XML-файл.
3. То, что вы делаете, выглядит правильно. Вы получаете сообщение об ошибке или файл просто отсутствует при последующей проверке?