4

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

4

3 回答 3

2

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

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

我自己也有同样的问题。

于 2016-06-17T04:19:45.493 回答
1

阅读芥末代码我发现了这条线,它调用了这条线,它调用了这条线,所以我认为你可以用一个残酷但有效的常量重新定义来解决:

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

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

无论如何,我建议您向httpi提出问题;我认为这应该是预期的行为

于 2012-11-24T18:25:22.987 回答
1

对于像我从谷歌搜索中一样来到这里的任何人。Savon 2.11 通过客户端上的全局配置值支持这一点:

follow_redirects: true
于 2017-08-29T15:33:32.243 回答