Могу ли я использовать Invoke-WebRequest для записи двоичных данных в файл и получения кода состояния? - PullRequest
2 голосов
/ 15 апреля 2020

Мне нужно загрузить файл с помощью запроса POST, однако, поскольку PowerShell, по-видимому, не может обрабатывать двоичные данные в каналах и переменных (Out-File не поддерживает двоичные данные), мне нужно использовать параметр -OutFile Invoke-WebRequest. Однако при этом он больше не выводит код состояния, чтобы я мог записать его в переменную:

PS K:\hmpf> $Filepath = "E:\shmimpf\g\yyv.fgr"
PS K:\hmpf> $URL = "https://wwwh.ipswich.org/tycobrahe/magazine.php?burgerflipcount=76"
PS K:\hmpf> (Invoke-WebRequest -Uri $URL -OutFile $Filepath -Method Post).StatusCode
PS K:\hmpf> (Invoke-WebRequest -Uri $URL -Method Post).StatusCode
200
PS K:\hmpf>

1 Ответ

3 голосов
/ 15 апреля 2020

Из документации для Invoke-WebRequest:

-PassThru

    Indicates that the cmdlet returns the results, in addition to writing them to a file. 
    This parameter is valid only when the OutFile parameter is also used in the command.

Таким образом, чтобы получить результаты ответа вместе с -OutFile:

(Invoke-WebRequest -Uri $URL -OutFile $Filepath -Method Post -PassThru).StatusCode
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...