I'm trying to convert some JS code to powershell but getting to a dead end with creating API request. i'm attaching the only part I really can't figure out
var ip = "127.0.0.1";
var apiSession = {
hostname: ip,
port: 443,
path: '/api/v1/sessions',
method: 'POST',
headers: {
'Content-Type': 'application/json charset=utf-8',
'Date': dateFormat(new Date(),"UTC:dddd, dd-mmmm-yy HH:MM:ss Z"),
}
};
function createSession() {
var jsonSession = '{"username":"user","password":"pass"}'
apiSession.headers['Content-MD5'] = crypto.createHash('md5').update(jsonSession).digest("base64");
var req = https.request(apiSession, function(res) {
res.on('data', function (body) {
var jsonContent = JSON.parse(body);
if (jsonContent.hasOwnProperty('id') && jsonContent.hasOwnProperty('accessKey') ){
console.log("Received session id:"+ jsonContent.id + ", accesskey:"+jsonContent.accessKey)
}
});
});
req.write(jsonSession);
req.end();
}
Until now that's far as I got but I still can't get a connection..
$baseUrl = "https://127.0.0.1"
$requestBody = ConvertTo-Json @{
username = "user"
password = "pass"
}
$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$utf8 = New-Object -TypeName System.Text.UTF8Encoding
$hash = [System.BitConverter]::ToString($md5.ComputeHash($utf8.GetBytes($requestBody)))
$requestHeaders = @{
"Content-Type" = "application/json charset=utf-8"
"Date" = get-date -Format "o"
'Content-MD5' = $hash
}
$Params = @{
Method = "POST"
Uri = $baseUrl + "/api/v1/sessions"
Headers = $requestHeaders
ContentType = "application/json"
}
$session = Invoke-RestMethod @Params
# Get session id & access key
$sessionId = $session.id
$accessKey = $session.accessKey
Write-Host "Your id: $sessionId & Your accsses key: $accessKey"
any point to the right direction would be appreciated
Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW
Comments
Post a Comment