PowerShell은 대소문자를 가리지 않는다.
우선 curl이 실제 linux에서 사용되는 프로그램인지 확인해본다.
PS prompt> Get-Alias
Alias compare -> Compare-Object
Alias copy -> Copy-Item
Alias cp -> Copy-Item
Alias cpi -> Copy-Item
Alias cpp -> Copy-ItemProperty
Alias curl -> Invoke-WebRequest
Alias cvpa -> Convert-Path
Alias dbp -> Disable-PSBreakpoint
Alias del -> Remove-Item
Alias diff -> Compare-Object
Alias dir -> Get-ChildItem
Alias dnsn -> Disconnect-PSSession
Alias ebp -> Enable-PSBreakpoint
Alias echo -> Write-Output
굵은 폰트를 보면 curl이 invoke-webrequest에 alias된 것을 확인 할 수 있다.
실제로는 invoke-webrequest가 호출 된다.
그렇다면 curl을 사용할때 invoke-webrequest의 형식을 따라 주면된다.
PS prompt> help invoke-webrequest
이름
Invoke-WebRequest
구문
Invoke-WebRequest [-Uri] <uri> [<CommonParameters>]
별칭
iwr
wget
curl
-uri 옵션뒤에 commonparametes를 넣으라고 나온다 참 단순하다.
get-help invoke-webrequest -online 으로 자세한 옵션을 살펴본다.
Invoke-WebRequest
[-UseBasicParsing]
[-Uri] <Uri>
[-WebSession <WebRequestSession>]
[-SessionVariable <String>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-CertificateThumbprint <String>]
[-Certificate <X509Certificate>]
[-UserAgent <String>]
[-DisableKeepAlive]
[-TimeoutSec <Int32>]
[-Headers <IDictionary>]
[-MaximumRedirection <Int32>]
[-Method <WebRequestMethod>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-ProxyUseDefaultCredentials]
[-Body <Object>]
[-ContentType <String>]
[-TransferEncoding <String>]
[-InFile <String>]
[-OutFile <String>]
[-PassThru]
[<CommonParameters>]
- uri
- method
- body
- contenttype
을 이용해보자
PS prompt> $body = '{
>> "jsonrpc":"2.0",
>> "method":"web3_clientVersion",
>> "params": [],
>> "id":100
>> }'
body 변수에 필요한 내용을 우선 기입해 준다.
PS prompt> $R=Invoke-WebRequest http://192.168.0.35:8545 -SessionVariable fb -method post -body $body -contenttype "application/json"
PS prompt> $R
StatusCode : 200
StatusDescription : OK
Content : {"jsonrpc":"2.0","id":100,"result":"Geth/v1.5.5-stable-ff07d548/linux/go1.6.2"}
RawContent : HTTP/1.1 200 OK
Vary: Origin
Content-Length: 80
Content-Type: application/json
Date: Wed, 21 Mar 2018 03:25:57 GMT
{"jsonrpc":"2.0","id":100,"result":"Geth/v1.5.5-stable-ff07d548/linux/go1.6.2"...
Forms : {}
Headers : {[Vary, Origin], [Content-Length, 80], [Content-Type, application/json], [Date, Wed, 21 Mar 2018 03:25:57 GMT]}
Images : {}
InputFields : {}
Links : {}
ParsedHtml : mshtml.HTMLDocumentClass
RawContentLength : 80
$R 변수에 응답을 저장한 후 처리후에 확인해본다.
'통합개발' 카테고리의 다른 글
curl 대신 postman사용하기 (0) | 2018.03.21 |
---|