可以将Ruby HTTPI库配置为遵循重定向吗?

时间:2012-11-24 17:31:38

标签: ruby savon httpi

我正在使用Savon库,后者又使用HTTPI,但 HTTPI 仅将HTTP状态代码200..299视为成功。不幸的是,我连接的SOAP服务器使用 HTTP 302 Found 将其客户端重定向到其他URL。有没有办法配置 HTTPI 来跟踪HTTP重定向?

3 个答案:

答案 0 :(得分:2)

尝试使用' follow_redirect = true'在请求对象上。

    request = HTTPI::Request.new
    request.follow_redirect= true
    ...

我自己就是这个问题。

答案 1 :(得分:1)

阅读Wasabi代码我发现this line,调用this line,调用this line,所以我认为您可以通过残酷但有效的不断重新定义来解决:

HTTPI::Response::SuccessfulResponseCodes = HTTPI::Response::SuccessfulResponseCodes.to_a << 302

您可以放心地忽略常量重新定义警告(您可以使用Kernel.silence_warnings{ ... })。

无论如何,我建议你向httpi开一个问题;我认为这应该是预期的行为

答案 2 :(得分:0)

对于那些像我在谷歌搜索中那样来到这里的人。 Savon 2.11通过客户端上的全局配置值支持此功能:

ContextCompat.XXXX