【发布时间】:2014-09-15 18:17:27
【问题描述】:
我已经编写了以下 curl 命令。
curl -v -X POST -H 'Accept: application/json'
-H 'Content-Type: application/json' -u username:password
-d 'Id=5&Email=add@ress.com&OptInType=0&EmailType=0&DataFields=null&Status=0}'
https://api.dotmailer.com/v2/contacts
但是,当我在 Powershell 中运行时,它会返回以下错误
"message":"无法解析请求的正文 内容类型\"应用程序/json\" ERROR_BODY_DOES_NOT_MATCH_CONTENT_TYPE"}
这是详细的服务器响应
- 在 DNS 缓存中找不到主机名
- 正在尝试 94.143.104.204...
- 连接到 api.dotmailer.com (94.143.104.204) 端口 443 (#0)
- 成功设置证书验证位置:
- CAfile:C:\Program Files\cURL\bin\curl-ca-bundle.crt CApath:无
- SSLv3、TLS 握手、客户端问候 (1):
- SSLv3、TLS 握手、服务器问候 (2):
- SSLv3、TLS 握手、CERT (11):
- SSLv3,TLS 握手,服务器完成 (14):
- SSLv3、TLS 握手、客户端密钥交换 (16):
- SSLv3,TLS 更改密码,客户端问候 (1):
- SSLv3,TLS 握手,完成 (20):
- SSLv3,TLS 更改密码,客户端问候 (1):
- SSLv3,TLS 握手,完成 (20):
- 使用 TLSv1.0 / AES128-SHA 的 SSL 连接
- 服务器证书:
- 主题:C=GB; ST=英格兰; L=伦敦; OU=DDG; O=dotMailer 有限公司; CN=*.dotmailer.com
- 开始日期:2012-01-16 15:51:40 GMT
- 有效期:2015-01-16 15:51:40 GMT
- subjectAltName: api.dotmailer.com 匹配
- 发行人:C=BE; O=GlobalSign nv-sa; CN=GlobalSign 组织验证 CA - G2
- SSL 证书验证正常。
- 使用 Basic 和用户“用户名”的服务器身份验证 *POST /v2/contacts HTTP/1.1 *授权:基本 XXXpdXNlci0zNGFmNWU0NTdmYTJAYXBpY29ubmVjdG9yLmNvbTpzaW1vbmUxMjM=
- 用户代理:curl/7.37.0
- 主机:api.dotmailer.com
- 接受:应用程序/json
- 内容类型:应用程序/json
- 内容长度:72
- 上传完全发送:72 个字节中的 72 个
- HTTP/1.1 400 错误请求
- 缓存控制:无缓存
- 编译指示:无缓存
- 内容类型:应用程序/json; charset=utf-8
- 过期:-1
- 日期:2014 年 7 月 24 日星期四 08:46:46 GMT
- 内容长度:139
{"message":"无法解析请求的正文 内容类型“应用程序/json” ERROR_BODY_DOES_NOT_MATCH_CONTENT_TYPE"}
与主机 api.dotmailer.com 的连接 #0 保持不变
谁能指出我正确的方向以正确执行我的命令? 谢谢。
【问题讨论】:
标签: json powershell post curl