2016-11-01 2 views
0

Invoke-RestMethodを使用してGUIから送信できるPOST呼び出しを複製しようとしています。私はそれを自動化したいし、それを行うためにPowerShellを使用しようとしています。Invoke-RestMethodとFiddlerは、返信で200コードを取得できません

このコードは202コードを返しますが、現在数時間試していますが、進歩することはできません。これは本当に私がinvoke-restmedodとRestで遊んでいる最初の時ですので、間違ったことを詳しく記述してください。どんな助けも高く評価されます。

だから、フィドラーによって捕獲に成功呼び出しがこれです:

enter image description here

enter image description here

PowerShellのコードは次のとおりです。

$WfManDirUserPass = "Password" 
$secpasswd = ConvertTo-SecureString $WfManDirUserPass -AsPlainText -Force 
$cred = New-Object System.Management.Automation.PSCredential ("admin", $secpasswd) 

$active = @{ 
ipaddress="192.168.100.116" 
Port="62805" 
status="0" 
} 
$json = $active | ConvertTo-Json 

try{ 
    $response = invoke-restmethod -uri https://myhost/MAM/wfservice/workers/?ip="&"port="&"newStatus=Deactivating -Method POST -Body $json -Credential $cred -ContentType 'application/json' 
} catch { 
    write-host("Sorry, it does not work") 
    } 

フィドラーでこのPowerShellのコードを返します。

enter image description here enter image description here

JSONが添付された画像とまったく同じではないことがわかります。しかし、私は今すぐ立ち往生し、今、本当にいくつかの助けに感謝します。

答えて

0

これは私を助けた1RedOneからの返信(Redditの)ユーザーである:1の場合

  1. 、のは、単一引用符であなたの全体の-uriをラップし、二重引用符を削除してみましょう。あなたのURLはおそらく邪魔になっています。

    $uri = 'https://myhost/MAM/wfservice/workers/?ip=&port=&newStatus=Deactivating' 
    

    $応答=呼び出す-restmethod -uri $ URI-メソッドPOST -body $ jsonの-Credential $クレド-ContentType 'アプリケーション/ jsonの' さらに

2. 、からお電話fiddlerは基本認証を使用し、おそらく-Credentialオブジェクトの使用と互換性がありません。資格情報をこの形式で置き換えてください。

$user = "yourusername" 
$pass = 'yourPassWord' 

# Build auth header 
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user, $pass))) 

# Set proper headers 
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" 
$headers.Add('Authorization',('Basic {0}' -f $base64AuthInfo)) 

次に、Invoke-RestMethod内の$ headerオブジェクトを参照してください。

$response = invoke-restmethod -uri $uri- Method POST ` 
    -Body $json -Header $headers -ContentType 'application/json' 

これだけです。それは魅力のように働いた!

関連する問題