2013-02-19 92 views
0

有没有使用PowerShell的方式,我可以在不打开Web浏览器的情况下将信息发送到网页?使用powershell发送信息到网站,而无需打开Web浏览器

例如我想执行以下,但没有webbrowser打开。我不关心返回的数据。

http://www.foobar.org/foo.php?CompName=Baz&UID=quux 
+0

你可以使用类似于:[[System.Net.WebRequest] :: Create(“http://www.foobar.org/foo.php?CompName=Baz&UID=quux”).GetResponse()'?我只是写它作为评论,因为我没有太多的webrequest经验。但是,这将返回有关返回内容的信息,这意味着网站处理了请求。 – 2013-02-19 19:05:09

+0

我不知道格雷默。当我回家时,我会试试这个。 – Radagast 2013-02-19 19:29:00

+0

我把它作为一个答案添加了一个替代方案;)最后肯定会工作,但如果第一次尝试是它的工作,它会更快,并使用更少的网络流量 – 2013-02-19 19:35:42

回答

1

我相信这应该做的伎俩(有人请纠正我,如果我错了):

[System.Net.WebRequest]::Create("http://www.foobar.org/foo.php?CompName=Baz&UID‌​=quux").GetResponse().Close() 

这将返回关于返回内容的信息,这意味着该网站处理了请求。

如果没有,你可以随时使用WebClient和刚刚走出空的响应数据:

$wc = New-Object System.Net.WebClient 
$wc.DownloadString("http://www.foobar.org/foo.php?CompName=Baz&UID‌​=quux") | Out-Null 
+0

谢谢你对此的帮助。 – Radagast 2013-02-20 03:06:53

1

你认为卷曲吗?您可以执行远程HTTP命令:

curl http://www.foobar.org/foo.php?CompName=Baz&UID=quux 

您可以从http://curl.haxx.se/

+0

我希望我可以使用卷曲。问题是我在计算机上允许使用的内容非常有限。我几乎坚持使用PowerShell。 – Radagast 2013-02-19 19:26:08

1

得到它,如果你有安装了PowerShell 3。

http://mcpmag.com/articles/2013/01/22/pshell-invoke-webrequest.aspx

Invoke-WebRequest http://www.foobar.org/foo.php?CompName=Baz&UID=quux 
+0

这是最简单的,但从标签看起来他有PS2.0 :-) – 2013-02-19 19:35:05

+0

是的,我不允许升级到PowerShell 3.我甚至不确定我是否可以。该公司仍在使用Windows XP PRO。是的,我知道古代。大声笑 – Radagast 2013-02-20 03:09:02

1

如果你被允许使用VBScript,你可以做这样的事情:

Set req = CreateObect("MSXML2.XMLHTTP.6.0") 
req.open "GET", "http://www.foobar.org/foo.php?CompName=Baz&UID=quux", False 
req.send 
+0

我可以使用VBScript,但宁愿不要;然而,这是一个非常有用的片段。谢谢。 – Radagast 2013-02-20 03:07:29

相关问题