我正在尝试POST到uri,并发送参数username=me
Invoke-WebRequest -Uri http://example.com/foobar -Method POST
如何使用POST方法传递参数?
答案 0 :(得分:256)
将您的参数放在哈希表中并按如下方式传递:
$postParams = @{username='me';moredata='qwerty'}
Invoke-WebRequest -Uri http://example.com/foobar -Method POST -Body $postParams
答案 1 :(得分:78)
对于某些挑剔的Web服务,请求需要将内容类型设置为JSON,将主体设置为JSON字符串。例如:
Invoke-WebRequest -UseBasicParsing http://example.com/service -ContentType "application/json" -Method POST -Body "{ 'ItemID':3661515, 'Name':'test'}"
或XML的等效项
答案 2 :(得分:3)
这有效:
{u'active': True, u'product': u'prod_Bzxbarfoo', u'transform_usage': None, u'name': u'Agent - Yearly', u'aggregate_usage': None, u'created': 1513986904, u'tiers_mode': None, u'interval': u'year', u'tiers': None, u'object': u'plan', u'id': u'ra-yearly', u'currency': u'usd', u'amount': 7500, u'interval_count': 1, u'trial_period_days': 2, u'livemode': True, u'usage_type': u'licensed', u'metadata': {u'qb_product': u'71'}, u'nickname': u'Agent - Yearly', u'statement_descriptor': u'foobar.com/charge', u'billing_scheme': u'per_unit'}
答案 3 :(得分:0)
JSON
用作正文{lastName:"doe"}
进行POST api调用时,单个命令,不带ps变量:
Invoke-WebRequest -Headers @{"Authorization" = "Bearer N-1234ulmMGhsDsCAEAzmo1tChSsq323sIkk4Zq9"} `
-Method POST `
-Body (@{"lastName"="doe";}|ConvertTo-Json) `
-Uri https://api.dummy.com/getUsers `
-ContentType application/json