2

我有一个看起来很简单的小问题......但我就是不明白!我尝试下载以下网站内容:http ://cspsp.gshi.org/ (如果您尝试通过www.cspsp.gshi.org访问它,您会进入错误的页面......)

为此,我在 Powershell 中这样做:
(New-Object System.Net.WebClient).DownloadFile( 'http://cspsp.gshi.org/', 'save.htm' )

我可以使用 Firefox 访问该网站并轻松下载其内容,但 Powershell 总是输出类似的内容:(
The remoteserver returned an Error: (404) Nothing found.翻译自德语)。

我不确定我在这里做错了什么。谷歌等其他网站运行良好。

4

1 回答 1

2

看起来该站点依赖于User-AgentHTTP 客户端发送的请求标头,并且它System.Net.WebClient甚至不发送默认值(至少,当我访问我自己的本地服务器时它没有发送。)

无论哪种方式,这对我有用:

$request = (New-Object System.Net.WebClient)
$request.headers['User-Agent'] = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.40 Safari/537.17"
$request.DownloadFile('http://cspsp.gshi.org/', 'saved.html')
于 2012-12-20T02:29:38.407 回答