Как стать автором
Обновить

Комментарии 3

В примере с Curl: символ "^" в командных файлах Windows означает «перевод строки», чтобы было удобнее видеть длинные команды.
Пробелов после "^" быть не должно.
В исходной публикации были, поправил.
Спасибо пользователю bopoh13 за внимательность.
А можно писать как-то покороче, используя командлеты Powershell, а не библиотеки .Net?
Например,
$webClient = New-Object Net.WebClient  
$webClient.UseDefaultCredentials = $true  
$webClient.Proxy.Credentials = $webClient.Credentials  
$webClient.Headers.Add("user-agent", "PowerShell automated task")  
  
# Подозреваю, что из-за того, что данные передаются без BOM, то получение данных  
# через DownloadString с последующим выводом выдаст на экран кракозябры.  
# Поэтому в явном виде преобразуем в UTF8  
$newsData = $webClient.DownloadData("https://news.webits.1c.ru/news/Updates/atom")  
  
Write-Host ([System.Text.Encoding]::UTF8).GetString($newsData)
можно заменить
$newsData = Invoke-WebRequest -Uri "https://news.webits.1c.ru/news/Updates/atom" -UserAgent "PowerShell automated task"
Write-Host $newsData.Content
Да, ваш способ работает!
И я даже вспомнил, почему я использовал .NET.
Invoke-WebRequest появился в 3 версии power-shell.
А раньше по-умолчанию в Windows был установлен power-shell 1.0 или 2.0 версии.

Что же, отличный повод обновить все свои скрипты.
Спасибо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории