如何将127.0.0.1重定向到localhost(Java)?

如何将127.0.0.1重定向到localhost(Java)?,java,javascript,spring-mvc,url-rewriting,tuckey-urlrewrite-filter,Java,Javascript,Spring Mvc,Url Rewriting,Tuckey Urlrewrite Filter,我正在用Twitter测试Oauth2,因为Twitter只允许127.0.0.1(它认为localhost无效) 我正在使用Javascript打开一个弹出窗口并检测对urlI注册的回调:https://127.0.0.1:8144/Oauth2Callback 但是,我的JavaScript源于localhost,根据这两种语言,对于“同源”策略,它们被认为是不同的 如何编写从127.0.0.1到localhost的重定向 我使用的是Java&也是tuckeyurlrewrite,所以两者都

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

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

但是,我的JavaScript源于
localhost
,根据这两种语言,对于“同源”策略,它们被认为是不同的

如何编写从
127.0.0.1
localhost
的重定向

我使用的是Java&也是tuckeyurlrewrite,所以两者都可以


我的控制器如下所示:

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


推特黑客
??? 127.0.0.1 ??? /条件>
(.*)
??? 本地主机???
我想:


twitter--(回调)-->127--(重定向)-->localhost

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


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

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

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

这似乎有效:

@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>

oauth2callback

也许有更好的方法可以通过tuckey url重写来实现这一点。

这似乎有效:

@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>

oauth2callback


也许有更好的方法可以通过tuckey url重写来实现这一点。

localhost和127.0.0.1不是一回事吗。您应该可以使用它。是否可以将主机文件修改为指向localhost的127.0.0.1点?反之亦然。我以为他们和我们是一样的。。好吧,localhost和127.0.0.1不是一回事吗。您应该可以使用它。是否可以将主机文件修改为指向localhost的127.0.0.1点?反之亦然。我以为他们和我们是一样的。。哦,好吧。