我在webserve上有一个php脚本显示(如纯文本,没有html格式)dhcp保留信息。输出采用以下格式,以逗号分隔:
dnsname,leavetime,macaddress,ipaddress
我希望能够使用invoke-webrequest powershell命令解析此信息,并获取mac地址。
我尝试过以下代码:
invoke-webrequest "http://www.xxx.xxx"
控制台的输出是:
StatusCode : 200
StatusDescription : OK
Content : *hostname*,in 7 days ,**Mac Address**,*ip address*
RawContent : HTTP/1.1 200 OK
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Content-Length: 50
Content-Type: text/plain; charset=ISO-8859-1
Date: Mon, 25 Feb 2013 12:04:33 GMT
Server: Apache
ega008...
Forms :
Headers : {[Keep-Alive, timeout=2, max=100], [Connection, Keep-Alive], [Content-Length, 50], [Content-Type,
text/plain; charset=ISO-8859-1]...}
Images : {}
InputFields : {}
Links : {}
ParsedHtml :
RawContentLength : 50
而不是所有这些,我想要的只是mac地址(突出显示为粗体)
非常感谢任何帮助。
感谢。
答案 0 :(得分:2)
您应该使用System.Net.Webclient
$webclient = new-object System.Net.WebClient
$webpage = $webclient.DownloadString("http://www.xxx.xxx")
答案 1 :(得分:1)
如果您将下载的内容作为字符串提供(可能使用CharlesB建议的WebClient),您可以使用以下内容将其拆分为键/值对字典:
$data=@{}
$webpage.split("`n") |% { $record=$_.split(":"); if($record[1]) { $data[$record[0].trim()]=$record[1].trim() }}
然后您可以将“content”-line的值拆分为数组:
$content = $data["Content"].split(",")
#
# retrieve the mac with:
$content[2]