【问题标题】:How can I redirect 127.0.0.1 to localhost (Java)?如何将 127.0.0.1 重定向到 localhost (Java)?
【发布时间】:2013-10-10 11:57:40
【问题描述】:

我正在用 Twitter 测试 Oauth2,根据 discussions Twitter 只允许 127.0.0.1(它认为 localhost 无效)。

我正在使用Javascript打开一个弹出窗口并检测对我注册的url的回调:https://127.0.0.1:8144/Oauth2Callback

但是,我的 JavaScript 源自 localhost,并且根据 sources,对于“同源”政策,两者被认为是不同的。

如何编写从127.0.0.1localhost 的重定向?

我正在使用 Java 和 tukey-url-rewrite,所以两者都可以。


我的控制器如下所示:

@RequestMapping("/oauth2callback")
@ResponseBody
public String callback() {
    return "oauth2callback";
}

<rule>
    <name>Twitter Hack</name>
<condition name="host" operator="equal"> ??? 127.0.0.1 ??? /condition>
    <from>(.*)</from>
    <to type="redirect"> ??? localhost ???</to> 
</rule>

我想要:

twitter --(callback)--&gt; 127 --(redirect)--&gt; localhost

【问题讨论】:

  • localhost 和 127.0.0.1 不是一回事。您应该可以使用它。
  • 也许修改你的主机文件指向 127.0.0.1 到本地主机?反之亦然。我以为他们我们是同一件事……哦,好吧。

标签: java javascript spring-mvc url-rewriting tuckey-urlrewrite-filter


【解决方案1】:

这似乎有效:

@RequestMapping("/oauth2callback")
public String callback(HttpServletRequest request) {

    /*
     * Terrible hack for testing Twitter Oauth on 'localhost'
     */
    if (request.getServerName().contains("127.0.0.1")){
        int port = request.getServerPort();
        String query = (request.getQueryString() == null) ? "" : "?" +request.getQueryString();
        String url = "redirect:https://localhost:" + port +"/oauth2callback" + query;
        return url;
    }

    return "account/oauth2callback";
}

account/oauth2callback 是一个简单的jsp,只有:

<body>
    <p>oauth2callback</p>
</body>

通过 tukey-url-rewrite 可能有更好的方法来做到这一点。

【讨论】:

    【解决方案2】:

    检查您的操作系统的 etc/host 文件并将 127.0.0.1 设置为 localhost 字符串。默认情况下它应该在那里,但有时它可能是一个问题。在 Windows 上,它位于 C:\windows\System\drivers\etc\ 文件夹下。

    它是您操作系统的名称解析,因此您实际上可以将 IP 映射到名称以解决主机上的问题。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 2014-08-16
      • 2012-07-21
      • 2012-08-27
      • 1970-01-01
      • 2012-07-20
      • 2012-06-13
      • 2016-09-22
      • 2013-09-14
      相关资源
      最近更新 更多