преобразовать команду curl в invoke-WebRequest или Invoke-RestMethod - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть требование преобразовать рабочую команду curl в команду Invoke-WebRequest Команда используется для создания проекта в SonarQube

Curl:

curl -u as123123112312: -X POST "http://sonarqube.it.company.net:9000/api/projects/create?key=%project_key%&name=%project_name%" > NUL

команда, которую я пробовал:

$e = @{
    Uri     = "http://sonarqube.it.company.net:9000/api/projects/create?key=%project_key%&name=%project_name%"
    Headers = @{"Authorization" = "Token as123123112312"}
}
Invoke-WebRequest @e -Method POST

Ошибка:

Invoke-WebRequest : The remote server returned an error: (401) Unauthorized

У кого-нибудь есть идея конвертировать curl в invoke-webrequest

1 Ответ

0 голосов
/ 17 сентября 2018

Об этом уже спрашивали.Когда вы публикуете сообщение, вам также нужно иметь тело для отправки, например:

$username = "as123123112312";
$password = "blah";
$Bytes = [System.Text.Encoding]::UTF8.GetBytes("$username`:$password");
$encodedCredentials = [System.Convert]::ToBase64String($bytes);
$body = "your content (i.e. json here)";
Invoke-WebRequest -Method Post -Body $body -Headers @{ "Authorization" = "Basic " + $encodedCredentials} -Uri "http://sonarqube.it.company.net:9000/api/projects/create?key=%project_key%&name=%project_name%"
...