http запросы с powershell - PullRequest
       7

http запросы с powershell

17 голосов
/ 10 октября 2011

Я пытаюсь сделать http-запросы на веб-страницы с PowerShell, возможно ли это, и если да, то как я могу этого добиться?

Могу ли я отправлять запросы на страницы https?Я могу делать http-запросы с помощью bat-файла, но не https, надеялся, что смогу https-запросить страницы с powershell.

Ответы [ 5 ]

15 голосов
/ 06 января 2014

Попробуйте это:

(New-Object System.Net.WebClient).DownloadString("http://stackoverflow.com")

Метод WebClient.DownloadString (String)

или в PowerShell 3.0,

(Invoke-WebRequest http://stackoverflow.com).content

Invoke-WebRequest

15 голосов
/ 10 октября 2011

Вы можете использовать обычные классы WebRequest и HttpWebRequest, предоставляемые .NET Framework.

$request = [System.Net.WebRequest]::Create('http://example.com')
# do something with $request

Он ничем не отличается от использования тех же классов и API из C #, за исключением синтаксических отличий от PowerShell.

PowerShell v3 также приносит Invoke-WebRequest и несколько других.

8 голосов
/ 10 октября 2011

В зависимости от того, что вы делаете, вы также можете использовать System.Net.WebClient, что является упрощенной абстракцией HttpWebRequest

$client = new-object system.net.webclient

Обратите внимание на разницу: Какая разница между классами WebClient и HTTPWebRequest в .NET?

PS: В Powershell v3.0 у вас есть командлеты Invoke-WebRequest и Invoke-RestMethod, которые можно использовать для аналогичных целей

2 голосов
/ 12 января 2017

Вы можете создавать запросы HTTP, HTTPS, FTP и FILE с помощью командлета Invoke-WebRequest. Это довольно легко и дает много возможностей для игры. Пример: для выполнения простых запросов http / https на google.com

Invoke-WebRequest -Uri "http://google.com"

Больше ссылок можно найти MSDN

2 голосов
/ 26 апреля 2014

Если ничего не помогает, используйте Curl из http://curl.haxx.se. Вы можете установить все, включая обработку сертификатов, POST и т. Д. Не тонко, но это работает и обрабатывает все случаи шансов; например Вы можете установить флаг --insecure, чтобы игнорировать проблемы с именами сертификатов, истечением срока действия или состоянием проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...