我试图对网络服务进行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
就行了。
答案 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