Получить информацию о том, как был настроен invoke-webrequest / invoke-restmethod - PullRequest
0 голосов
/ 27 ноября 2018

Мы пытаемся получить токен авторизации от OAuth API.

Поскольку у нашего веб-программиста возникли некоторые проблемы с пониманием OAuth, я сделал все это в PowerShell

в PowerShell.было так же просто, как:

$clientID = "yyy"
$secretID = "zzz" 

$Uri = 'https://xy.domain.com/OAuth/token?grant_type=client_credentials&client_id={0}&client_secret={1}&scope=xy' -f $clientID, $secretID
$Token = Invoke-RestMethod $Uri -method post | select -expand access_token

, но это не очень помогает нашему веб-программисту, поскольку PowerShell имеет такой уникальный синтаксис.

Теперь я хотел сделать то же самое, но построив свойwebrequest самостоятельно.

Когда я возвращаю объект $web в PowerShell, я вижу его свойства, такие как Headers и т. д. (см. ниже).

Есть ли способ, чтобы увидетькакие свойства Invoke-RestMethod установил при создании запроса?тогда я мог бы прочитать оттуда свойства, которые мне нужно установить при создании моего собственного веб-запроса.

вот возвращение из моего веб-объекта:

PS C:\Windows\System32\WindowsPowerShell\v1.0> $web = [system.net.webrequest]::Create($Uri)

PS C:\Windows\System32\WindowsPowerShell\v1.0> $web


AllowAutoRedirect                    : True
AllowWriteStreamBuffering            : True
AllowReadStreamBuffering             : False
HaveResponse                         : False
KeepAlive                            : True
Pipelined                            : True
PreAuthenticate                      : False
UnsafeAuthenticatedConnectionSharing : False
SendChunked                          : False
AutomaticDecompression               : None
MaximumResponseHeadersLength         : 64
ClientCertificates                   : {}
CookieContainer                      : 
SupportsCookieContainer              : True
RequestUri                           : https://xy.domain.com/OAuth/token?grant_type=client_credentials&client_id=yyy&client_secret=zzz&scope=xy
ContentLength                        : -1
Timeout                              : 100000
ReadWriteTimeout                     : 300000
ContinueTimeout                      : 350
Address                              : https://xy.domain.com/OAuth/token?grant_type=client_credentials&client_id=yyy&client_secret=zzz&scope=xy
ContinueDelegate                     : 
ServicePoint                         : System.Net.ServicePoint
Host                                 : xy.domain.com
MaximumAutomaticRedirections         : 50
Method                               : GET
Credentials                          : 
UseDefaultCredentials                : False
ConnectionGroupName                  : 
Headers                              : {}
Proxy                                : System.Net.WebRequest+WebProxyWrapper
ProtocolVersion                      : 1.1
ContentType                          : 
MediaType                            : 
TransferEncoding                     : 
Connection                           : 
Accept                               : 
Referer                              : 
UserAgent                            : 
Expect                               : 
IfModifiedSince                      : 01.01.0001 00:00:00
Date                                 : 01.01.0001 00:00:00
ServerCertificateValidationCallback  : 
CreatorInstance                      : System.Net.WebRequest+DesignerWebRequestCreate
CachePolicy                          : Level:BypassCache
AuthenticationLevel                  : MutualAuthRequested
ImpersonationLevel                   : Delegation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...