2017-04-18 65 views
0

您好,我正在製作一個簡單的命令行工具,它將幫助我通過SSH/Powershell從遊戲服務器傳遞/獲取數據。我試圖從192.95.23.181:11775(顯示球員數量,地圖名稱,變體,端口等)獲取一些數據從html頁面抓取和顯示數據Powershell

如何獲取特定數據並使用powershell顯示它。 對於實例

`$server = Invoke-WebRequest -URI 192.95.23.181:11775 

PS C:\Users\Administrator> $server.Content 

{"name":"#2 [US-EAST] Dedicated Community Infection Server","port":11774,"hostPlayer":"HaloInfect.Net","isDedicated":tr 
ue,"sprintEnabled":"1","sprintUnlimitedEnabled":"0","assassinationEnabled":"1","VoIP":true,"teams":false,"map":"Green J 
ourney","mapFile":"riverworld","variant":"Toxic Fatkid","variantType":"infection","status":"InGame","numPlayers":2,"max 
Players":16,"xnkid":"5314a305e810484089d439e5089d24fe","xnaddr":"c53527ae684116459bdab2a2154fa4e6","players":[{"name":" 
1321","score":0,"kills":0,"assists":0,"deaths":0,"team":0,"isAlive":true,"uid":"83217235a7e315bb"},{"name":"Max","score 
":0,"kills":0,"assists":0,"deaths":0,"team":1,"isAlive":false,"uid":"f523149f39fc331e"}],"gameVersion":"1.106708_cert_m 
s23___release","eldewritoVersion":"0.5.1.1"} 
PS C:\Users\Administrator>` 

可以說,我想以後搶號「numplayer:或之後的地圖名稱‘地圖’,我怎麼可以編寫一個腳本,將搜索和顯示該數據

希望這一點。是有意義的,在此先感謝

+0

這看起來像一個JSON響應。請使用'ConvertFrom-JSON'並解析您收到的任何對象作爲一個複雜但正常的Powershell對象。 – Vesper

回答

1
$data=convertfrom-json $server.content 
$data.numPlayers 

應該做的。

ConvertFrom-Json進行了一次正常Powershell的對象從您的回覆,因爲它是實際上是一個JSON響應。您可以直接查詢其字段。如果您需要發送JSON請求,則應該創建一個具有所需結構的對象,然後致電ConvertTo-Json以獲取要發送的字符串。

+0

這工作完美,我看到我犯了錯誤,謝謝 – ETHER