问题描述
欢迎任何帮助,我的脑袋再也受不了了。
尝试修改路由器 Sonicwall API 中的对象。身份验证有效。
这是工作:
curl -k -i -X PUT -H "accept: application/json" -H "Content-Type: application/json" https://172.20.0.22/api/sonicos/address-objects/ipv4/name/FUTU_TEST -d "{\"address_object\":{\"ipv4\":{\"host\":{\"ip\":\"17.20.21.21\"},\"zone\":\"VLAN111\"}}}"
HTTP/1.0 200 OK
Server: SonicWALL
Expires: -1
Cache-Control: no-cache
Content-type: application/json; charset=UTF-8
X-Content-Type-Options: nosniff
{
"status": {
"success": true,"cli": {
"mode": "config_mode","depth": 1,"configuring": true,"pending_config": true,"restart_required": "NONE"
},"info": [
{
"level": "info","code": "E_OK","message": "Success."
}
]
}
}
这不会:
$body = @{
"address_object" = @{
"ipv4" = @{
"host" = @{
"ip"="172.22.22.22";
"zone"= "VLAN123";
}
}
}
} | ConvertTo-Json -Depth 4
Invoke-WebRequest -Method Put -ContentType "application/json" -Headers @{'accept'='application/json'} -Uri "https://172.20.0.22/api/sonicos/address-objects/ipv4/name/FUTU_TEST" -Body $body
PSMessageDetails :
Exception : System.Net.WebException: Le serveur distant a retourné une erreur : (400) Demande incorrecte.
à Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(WebRequest request)
à Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord()
Targetobject : System.Net.HttpWebRequest
CategoryInfo : InvalidOperation : (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest],WebException
FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
ErrorDetails :
InvocationInfo : System.Management.Automation.InvocationInfo
ScriptStackTrace : à <ScriptBlock>,<Aucun fichier> : ligne 1
PipelineIterationInfo : {}
我不知道为什么我的 powershell 出现代码 400 错误。正文中的 json 格式错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)