我试图自动执行检查网站SPF记录的任务,并且想知道是否有人解决了这个问题。我需要能够访问该网站,然后输入域名,例如。 stuff.co.nz
然后点击Get SPF record
并将结果输出到文本文件。
以下是我试图做的事情。任何帮助将不胜感激。
$ie = New-Object -Com InternetExplorer.Application
$ie.Visible=$true
$ie.navigate("http://www.kitterman.com/spf/validate.html")
$ie.Document.getElementsByName("domain").value="stuff.co.nz"
$ie.Document.GetElementsByvalue("Get SPF Record (if any)").click()
答案 0 :(得分:0)
我认为没有必要启动IE来实现这一目标。
以下脚本应发出HTTP post请求以获取SPF记录并将输出保存到文本文件中。
$postParams = @{domain='stuff.co.nz';serial='fred12'}
Invoke-WebRequest -Uri http://www.kitterman.com/getspf2.py -Method POST -Body $postParams -OutFile output.txt
如果你仍然想使用IE,你只需要保存整个页面。请参阅this post。
答案 1 :(得分:0)
如果您点击的所有内容都是'获取SPF记录' (而不是进行有效性测试),然后您使用PowerShell自动化IE以查找DNS中的内容以连接到网站以刮取页面并输入主机名,以便远程服务器可以在DNS中查找内容以便您可以把它从IE中删除。
略过所有内容并直接查找SPF记录,它是DNS中的TXT记录,启动' v = spf1',所以:
(Resolve-DnsName -Type TXT stuff.co.nz).strings -match '^v=spf1'