Я работаю в сценарии, где я могу просмотреть веб-сайты содержание или 'URL', но я не могу скопировать веб-контент в нем и загрузку как файл. Это - то, что я сделал до сих пор:
$url = "http://sp-fin/sites/arindam-sites/_layouts/xlviewer.aspx?listguid={05DA1D91-F934-4419-8AEF-B297DB81A31D}&itemid=4&DefaultItemOpen=1"
$ie=new-object -com internetexplorer.application
$ie.visible=$true
$ie.navigate($url)
while($ie.busy) {start-sleep 1}
Как я могу скопировать содержание $url
и сохраните его к локальному диску как файл?
Я получил эти ошибки:
Исключение называя "DownloadFile" с "2" аргумент (аргументы): "Удаленный сервер возвратил ошибку: (401) Несанкционированный". В: line:6 char:47 + (Новый объект system.net.webclient).DownloadFile (<<<<"$url/download-url-content", 'save.html')
Пропавшие без вести')' в вызове метода. В: line:6 char:68 + (Новый объект system.net.webclient).DownloadFile ("$url", 'save.html' <<<<
Исключение называя "DownloadFile" с "2" аргумент (аргументы): "Удаленный сервер возвратил ошибку: (401) Несанкционированный". В: line:6 char:47 + (Новый объект system.net.webclient).DownloadFile (<<<<"$url", 'save.html')
Хорошо, позвольте мне объяснить больше, на том, что я пытаюсь сделать: у Меня есть файл Excel в нашем сайте точки доли, и это - файл, который я пытаюсь загрузить локально (любой формат), который является частью сценария, так, чтобы для более поздней части сценария, я мог сравнить этот файл с другими данными и получить вывод.
Теперь, если я могу так или иначе отобразить "свои документы" от сайта и способный загрузить файл, который будет также работать на меня.
Если вы хотите просто скачать веб-контент, используйте
(New-Object System.Net.WebClient).DownloadFile( 'download url content', 'save.html' )
Я не знаю, как сохранить с помощью этого интерфейса.
Делает ли это страницу правильно:
PS>$wc=new-object system.net.webclient
PS>$wc.downloadfile("your_url","your_file")
Как я понимаю, вы пытаетесь использовать IE, потому что если вы автоматически посылаете свои учетные данные (или, возможно, вы не знали ни о каком другом варианте), то вы пытаетесь использовать IE.
Почему вышеприведенные ответы не работают, потому что вы пытаетесь загрузить файл из SharePoint и отправляете неаутентифицированный запрос. Ответ 401.
Это работает:
PS>$wc=new-object system.net.webclient
PS>$wc.UseDefaultCredentials = $true
PS>$wc.downloadfile("your_url","your_file")
если текущий пользователь Posh имеет права на загрузку файла (такой же, как и зарегистрированный в IE).
Если нет, попробуйте так:
PS>$wc=new-object system.net.webclient
PS>$wc.Credentials = Get-Credential
PS>$wc.downloadfile("your_url","your_file")