此curl命令按预期工作:
curl -H "X-Api-Key:j65k423lj4k2l3fds" ` -X PUT ` -d "alerts_enabled=true" ` https://some/working/file.xml
如何使用Invoke-WebRequest在PS中本机重新创建?我试过了
Invoke-WebRequest -Headers @{"X-Api-Key" = "j65k423lj4k2l3fds"} ` -Method PUT ` -Body "alerts_enabled=true" ` -Uri https://some/working/file.xml
我也尝试为所有参数创建对象(例如$headers = @ {“X-Api-Key”=“Key:j65k423lj4k2l3fds”}并传递-Headers $headers).
谢谢
解决方法
尝试添加参数-ContentType,例如:
Invoke-WebRequest -Headers @{"X-Api-Key" = "j65k423lj4k2l3fds"} -Method PUT ` -Body "alerts_enabled=true" -Uri https://some/working/file.xml ` -ContentType application/x-www-form-urlencoded
这导致一个看起来像这样的请求(来自Fiddler):
PUT http://some/working/file.xml HTTP/1.1 X-Api-Key: j65k423lj4k2l3fds User-Agent: Mozilla/5.0 (Windows NT; Windows NT 6.2; en-US) WindowsPowerShell/5.0.9701.0 Content-Type: application/x-www-form-urlencoded Host: some Content-Length: 19 Expect: 100-continue alerts_enabled=true
为了测试,我将URL从https更改为http.如果这不起作用,请下载Fiddler并在使用curl查看RAW请求时查看不同的内容.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。