2012-12-19 46 views
2

我有一個小問題,看起來很簡單...但我只是不明白! 我嘗試下載網站內容:http://cspsp.gshi.org/(如果您嘗試通過www.cspsp.gshi.org訪問它,您會看到錯誤的頁面......)Powershell:下載文件404,但網站存在

爲此,我在PowerShell中這樣做:
(New-Object System.Net.WebClient).DownloadFile('http://cspsp.gshi.org/', 'save.htm')

我可以接取與Firefox的網站,方便地下載其內容,但PowerShell的總輸出這樣的事情:
The remoteserver returned an Error: (404) Nothing found.(德國翻譯)

我不知道我在做什麼這裏錯了。像Google這樣的其他網站可以正常工作。

感謝您的幫助!

回答

1

看來該網站依賴於由HTTP客戶端發送的User-Agent請求標頭,並且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') 

希望這有助於。 :D