0

我在文本文件中有一个 URL 列表,我想测试它们是否都可以访问。我在windows powershell中触发了以下命令,但是在显示前两个请求的状态后,该命令卡在某个地方并且永远不会返回。我错过了什么吗?

cat .\Test.txt | % { [system.Net.WebRequest]::Create("$_").GetResponse().StatusCode }

文本文件

http://www.google.com
http://www.yahoo.com
http://www.bing.com

输出:

OK
OK
----> after that it stucks.    
4

2 回答 2

1

从内存中:您必须明确关闭响应流:

$req      = [System.Net.HttpWebRequest]::Create($aRequestUrl);
$response = $null

try
{
    $response = $req.GetResponse()

    # do something with the response

}
finally
{
    # Clear the response, otherwise the next HttpWebRequest may fail... (don't know why)
    if ($response -ne $null) { $response.Close() }
}
于 2013-08-06T11:57:51.647 回答
1

改用 Invoke-WebRequest:

$sites = 'http://www.google.com','http://www.yahoo.com','http://www.bing.com'

foreach ($site in $sites) {

  Invoke-WebRequest $site
  $site

}
于 2013-08-02T18:03:06.113 回答