【问题标题】:Rails how to follow redirect in HTTParty GET requestRails如何在HTTParty GET请求中遵循重定向
【发布时间】:2013-04-18 14:13:02
【问题描述】:

我正在使用 httparty 发送一个 get 请求,然后尝试遵循重定向:

get 'https://accounts.google.com/o/oauth2/auth'

如何使用 HTTParty 跟踪重定向?

抱歉,之前有人问过这个问题,但我在任何地方都找不到答案。

谢谢

【问题讨论】:

  • 您是在尝试构建自己的身份验证 gem,还是只是您想出的随机 URL?
  • 如果示例不是随机的,您可以查看omniauth gemomniauth-google 来解决您的挑战。
  • @ThomasKlemm - 这是来自 google api 的随机网址。
  • 那么 HTTParty 文档对重定向有什么看法?
  • @ThomasKlemm - 我找不到有关重定向的任何信息。

标签: ruby-on-rails httparty


【解决方案1】:

现在可能不需要,但对于需要的人来说。

来自documentation,有自动重定向的特殊选项

follow_redirects(value = true) ⇒ 对象

当 HTTP 响应指示重定向时,转到位置标头。默认情况下始终遵循重定向。

所以你可以像这样使用这个选项:

HTTParty.get('http://google.com', follow_redirects: true)

【讨论】:

    【解决方案2】:

    现在猜测这有点过时了,这个问题大约有一个月的历史了......但我对 HTTParty 文档的理解是它应该自动跟随重定向,除非你设置了 no_follow 标志。虽然我还没有成功测试它(我是一个完整的 HTTParty n00b 并且偶然发现了这个试图找到我自己的问题的答案,哦......)

    如果这不起作用,您始终可以直接读取标头并手动解析重定向。我之前在 Javascript AJAX 请求中已经做到了,这并不难。但是您不必对 HTTParty 这样做。

    【讨论】:

    • 我必须手动构建 url 和重定向,这是唯一可行的方法。
    • 如果响应代码为200 并且它使用meta 标记重定向,则它看起来不会遵循重定向。
    猜你喜欢
    • 2020-04-17
    • 2011-02-04
    • 2013-02-12
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    相关资源
    最近更新 更多