不需要传中文,powershell原生命令样例:
POST:
- $url="" #自行填写网页请求地址
- $body=@{
- "user" = $user
- "password"=$password
- }| ConvertTo-Json #具体参照接口参数修改
- Invoke-WebRequest -Uri $url -Method Post -Headers @{ "Content-Type" = "application/json"} -Body $body
GET:
- $url="" #自行填写网页请求地址
- Invoke-WebRequest -Uri $url -Method get
需要传中文参数或者中文返回,需要使用借助System.Net.HttpWebRequest类
POST:
- $url = '' #自行填写网页请求地址
- $body=@{
- "user" = $user
- "password"=$password
- }| ConvertTo-Json #具体参照接口参数修改
- $webRequest = [System.Net.HttpWebRequest]::Create($url)
- $encodedContent = [System.Text.Encoding]::UTF8.GetBytes($body)
- $webRequest.Method = "POST"
- $webRequest.ReadWriteTimeout = 5000
- $webRequest.KeepAlive = $false
- $webRequest.ContentType = "application/json"
- $webRequest.ContentLength = $encodedContent.length
- $requestStream = $webRequest.GetRequestStream()
- $requestStream.Write($encodedContent, 0, $encodedContent.length)
- $requestStream.Close()
- [System.Net.WebResponse] $resp = $webRequest.GetResponse()
- $rs = $resp.GetResponseStream()
- [System.IO.StreamReader] $sr = New-Object System.IO.StreamReader -argumentList $rs
- [string] $results = $sr.ReadToEnd()
GET:
- $url = '' #自行填写网页请求地址
- [Net.HttpWebRequest]$WebRequest = [Net.WebRequest]::Create($Uri)
- [Net.HttpWebResponse]$WebResponse = $WebRequest.GetResponse()
- $Reader = New-Object IO.StreamReader($WebResponse.GetResponseStream())
- $Response = $Reader.ReadToEnd()
- $Reader.Close()
- $results = $Response | ConvertFrom-Json
想详细了解的可以看一下 https://learn.microsoft.com/zh-cn/dotnet/api/system.net.httpwebrequest?redirectedfrom=MSDN&view=net-6.0
原文地址:https://blog.51cto.com/u_13504775/5702590