如何将127.0.0.1重定向到localhost(Java)?
我正在用Twitter测试Oauth2,因为Twitter只允许如何将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,所以两者都
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点?反之亦然。我以为他们和我们是一样的。。哦,好吧。