0

我遇到了一个问题,当我运行构造的 curl 命令时,服务器响应为 204(预期),但是当我构造具有相同配置的法拉第对象时,它失败并出现 500 错误 - IIS

缺少必需的参数

卷曲命令:

curl -v -i -H "Content-Type: application/xml" -H "HEADER1: VALUE" -H "HEADERSERVICENAME: VALUE" -X POST -d '<empty string>' HOST_GOES_HERE

我的法拉第代码:

conn = Faraday.new <HOST_GOES_HERE>, :ssl => {:version => :SSLv3}
response = conn.post do |req|      
 req.headers['Content-Type'] = 'application/xml'
 req.headers['HEADER1'] = "VALUE"
 req.headers['HEADERSERVICENAME'] = "VALUE"
 req.body = ''
end

我唯一能想到的是 curl 是否发送了一些在 curl 命令中未设置的附加标头。

4

1 回答 1

1

想通了... ruby​​ http/net 库将所有​​标头的名称大写

红宝石网络库

不幸的是,我使用的 API/服务区分大小写,并且要求标头全部大写...

于 2015-01-28T20:45:10.253 回答