본문 매개변수가 '@'로 시작하는 경우 PowerShell POST 요청
PowerShell에서 POST 요청을 하고 싶습니다.다음은 포스트맨의 신체 세부 사항입니다.
{
"@type":"login",
"username":"xxx@gmail.com",
"password":"yyy"
}
PowerShell에서 이 정보를 전달하는 방법은 무엇입니까?
다음 작업을 수행할 수 있어야 합니다.
$params = @{"@type"="login";
"username"="xxx@gmail.com";
"password"="yyy";
}
Invoke-WebRequest -Uri http://foobar.com/endpoint -Method POST -Body $params
이렇게 하면 게시물이 본문으로 전송됩니다.그러나 이를 Json으로 게시하려면 명시적으로 게시해야 합니다.이 문서를 JSON으로 게시하려면 내용을 지정합니다.다음을 사용하여 본문을 입력하고 Json으로 변환합니다.
Invoke-WebRequest -Uri http://foobar.com/endpoint -Method POST -Body ($params|ConvertTo-Json) -ContentType "application/json"
Extra: JSON 및 REST apps를 처리하기 위해 Invoke-Rest Method를 사용할 수도 있습니다(이 방법을 사용하면 deserialize를 위해 추가 줄을 저장할 수 있습니다).
REST-API를 사용합니다.JSON을 문자열에 저장하고 본문으로 사용합니다. 예:
$JSON = @'
{"@type":"login",
"username":"xxx@gmail.com",
"password":"yyy"
}
'@
$response = Invoke-RestMethod -Uri "http://somesite.com/oneendpoint" -Method Post -Body $JSON -ContentType "application/json"
Powershell 3을 사용하면 몇 가지 문제가 있었던 것으로 알고 있습니다.Invoke-RestMethod하지만 당신은 사용할 수 있어야 합니다.Invoke-WebRequest대체품으로:
$response = Invoke-WebRequest -Uri "http://somesite.com/oneendpoint" -Method Post -Body $JSON -ContentType "application/json"
매번 자신의 JSON을 작성하지 않으려면 해시 테이블을 사용하고 PowerShell을 사용하여 게시하기 전에 JSON으로 변환할 수 있습니다.전.
$JSON = @{
"@type" = "login"
"username" = "xxx@gmail.com"
"password" = "yyy"
} | ConvertTo-Json
@프로드 F.는 옳은 답을 했습니다.
그나저나.Invoke-WebRequest또한 인쇄할 수 있습니다.200 OK그리고 많은 bla, bla, bla...도움이 될 수도 있지만, 저는 여전히 그것을 선호합니다.Invoke-RestMethod어느 쪽이 더 가볍습니까?
또한 사용해야 한다는 것을 명심하십시오.| ConvertTo-Json헤더가 아닌 본문에 대해서만:
$body = @{
"UserSessionId"="12345678"
"OptionalEmail"="MyEmail@gmail.com"
} | ConvertTo-Json
$header = @{
"Accept"="application/json"
"connectapitoken"="97fe6ab5b1a640909551e36a071ce9ed"
"Content-Type"="application/json"
}
Invoke-RestMethod -Uri "http://MyServer/WSVistaWebClient/RESTService.svc/member/search" -Method 'Post' -Body $body -Headers $header | ConvertTo-HTML
그런 다음 a를 추가할 수 있습니다.| ConvertTo-HTML가독성 향상을 요구한 끝에.
언급URL : https://stackoverflow.com/questions/35722865/making-a-powershell-post-request-if-a-body-param-starts-with
'programing' 카테고리의 다른 글
| CSS 크로스 브라우저로 수직 텍스트를 어떻게 그릴 수 있습니까? (0) | 2023.08.22 |
|---|---|
| 그루비를 사용하여 오라클에서 커서를 가져오는 방법은 무엇입니까? (0) | 2023.08.22 |
| Apple FFT 및 Accelerate Framework 사용 (0) | 2023.08.12 |
| 글꼴 스타일: CSS에서 기울임꼴 대 사선 (0) | 2023.08.12 |
| 도커 기계:장치에 남아 있는 공간이 없습니다. (0) | 2023.08.12 |