2016-06-01 4 views
3

JSONオブジェクトがPOSTフォームパラメータとして渡されるPOSTメソッド経由で特定のURLを呼び出しようとしています。私はハッシュを作成し、JSONにその変換し、[起動-RestMethodコマンドを使用して接続しようとした、PowerShellを使用しJSONオブジェクトを使用してPOSTメソッド経由でURLを呼び出し、Powershellを使用します。

obj={ 
"login":"[username here]", 
"pword":"[password here]" 
} 

:渡す必要があるJSONオブジェクトは、このようなものです。

$hash = @{ login = "username"; 
      pword = "password" 
      } 

$obj = $hash | convertto-json 
Invoke-RestMethod 'https://website.com/login' -Method POST -Body $obj -ContentType 'application/x-www-form-urlencoded' 

ただし、これはエラーを返します。ドキュメントを再度確認すると、フォームパラメータ名はobjである必要があります。ウェブサービスはobjというパラメータを特に検索し、文字列値を受け取り、それをJSONオブジェクトに変換して内部値。

これは私がちょっと立ち往生しているところです。 Powershellを使用する際に、フォームのパラメータ名をどのように特定すればよいでしょうか?

答えて

2

あなたが提示してきたフォーム:

obj={ 
"login":"[username here]", 
"pword":"[password here]" 
} 

が無効JSONているように見えます。だから、あなたはそれをすり抜かなければならないでしょう:

$hash = @{ login = "username"; 
      pword = "password" 
      } 

$obj = $hash | convertto-json 
$obj = 'obj=' + $obj 
Invoke-RestMethod 'https://website.com/login' -Method POST -Body $obj -ContentType 'application/x-www-form-urlencoded' 
+0

これは夢のように働いた!ありがとうございました! – MisterPuggles

関連する問題