Invoke-Webrequest主机变量,无效的URI:无法解析主机名

时间:2017-04-10 13:37:33

标签: powershell webrequest

我试图对网络服务进行api调用,但不确定出了什么问题。 可能是$request变量中的错误引用。

[string]$subKey = "AAAAA-BBBBB-FFFFFF-EEEEEE-DDDDD"
[string]$method = "GET"
[string]$searchParam = "Type"
[string]$searchQuery = "QQ"
$request=("""https://api.test.com/api/assets/search?" + $searchParam + "=" + $searchQuery + "&PageSize=10&Page=1"""+" -Headers @{""Authorization"""+"="""+"SubKey "+$subKey+"""}")

Invoke-WebRequest $request -Method Get

这导致:

  

无效的URI:无法解析主机名。

如果我只是复制$request的输出并运行Invoke-WebRequest就行了。

1 个答案:

答案 0 :(得分:3)

Invoke-WebRequest cmdlet采用-Uri-Headers参数。您也可以简化网址:

[string]$subKey = "AAAAA-BBBBB-FFFFFF-EEEEEE-DDDDD"
[string]$method = "GET"
[string]$searchParam = "Type"
[string]$searchQuery = "QQ"
$uri= "https://api.test.com/api/assets/search?$searchParam=$searchQuery&PageSize=10&Page=1"

Invoke-WebRequest -Uri $uri -Headers @{Authorization ="SubKey $subKey"} -Method Get