Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用Savon库,该库又使用HTTPI,但HTTPI仅将 HTTP 状态代码 200..299 视为成功。不幸的是,我连接的 SOAP 服务器使用HTTP 302 Found将其客户端重定向到其他 URL。有没有办法可以配置HTTPI以遵循 HTTP 重定向?
尝试在请求对象上使用“follow_redirect=true”。
request = HTTPI::Request.new request.follow_redirect= true ...
我自己也有同样的问题。
阅读芥末代码我发现了这条线,它调用了这条线,它调用了这条线,所以我认为你可以用一个残酷但有效的常量重新定义来解决:
HTTPI::Response::SuccessfulResponseCodes = HTTPI::Response::SuccessfulResponseCodes.to_a << 302
您可以放心地忽略不断的重新定义警告(您可以使用Kernel.silence_warnings{ ... })。
Kernel.silence_warnings{ ... }
无论如何,我建议您向httpi提出问题;我认为这应该是预期的行为
对于像我从谷歌搜索中一样来到这里的任何人。Savon 2.11 通过客户端上的全局配置值支持这一点:
follow_redirects: true