0

我将以下请求传递给 ruby​​ rest-client gem;

RestClient::Request.execute(method: :get,
                            url: Config['site_url'] + path,
                            verify_ssl: OpenSSL::SSL::VERIFY_NONE,
                            headers: { organisation: 'WEB',
                                       accept: 'application/vnd.xyz.v2+json' })

Gem 版本 ruby​​ 版本 2.3.3 rest-client 2.0.2

我已将相同的请求传递给 Postman,并且得到了预期的响应。

我还有一个 API 的 v1 只接受“:json”,这也按预期响应,所以我的感觉是它是围绕

accept: 'application/vnd.xyz.v2+json'

这导致了问题,但我不确定到底是什么。我的感觉是,如果回复有问题,那么邮递员也会抱怨。

这里的文档https://github.com/rest-client/rest-client 默认请求标头:rest-client sets

accept:*/*

以防我通过/(尽管我假设 * 表示输入您需要的内容)但这返回了 v1 响应。

方法、url 和 verify_ssl 在多个其他请求中工作。所以我认为那里也没有任何问题。

任何人,有什么建议吗?谢谢

4

1 回答 1

0

问题不在于请求,而在于 API 无法从 ruby​​ 请求中识别用户代理。当我发送 curl 请求时,它也返回了 404。

当通过一个

 User-Agent: 

使用浏览器/移动设备时,API 按预期响应。

于 2017-07-09T18:55:00.613 回答