JAVA 怎么才能获取重定向的地址呢?

2016-11-29 10:42:15 +08:00
 warcraft1236
示例
//请求
https://api.weibo.com/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=code

//同意授权后会重定向
http://www.example.com/response&code=CODE

上段是新浪微博给的示例,浏览器打开示例中请求那样的地址,打开的网页是让输入新浪微博帐号密码的网页,输入帐号密码之后,网页就会跳转到示例中同意授权后会重定向那样的网址,网址中code=后边的值就是需要获取的

我尝试用 okhttp 来发送这个请求,但是返回的结果是授权页面,用浏览器打开,不知道怎么才能用 JAVA 获取到重定向的地址

5008 次点击
所在节点    Java
7 条回复
whwq2012
2016-11-29 10:45:34 +08:00
HttpClient 的话可以 setFollowRedirects 。 http://drizzlewalk.blog.51cto.com/2203401/591472
warcraft1236
2016-11-29 11:09:17 +08:00
@whwq2012 不是请求了这个地址就重定向的,是在这个网页里输入了帐号密码,点击登录,然后重定向的,不知道这种情况该怎么弄
EINDEX
2016-11-29 11:11:36 +08:00
你重定向的地址在外网可以访问吗?
q397064399
2016-11-29 12:11:57 +08:00
我记得重定向是在 HTTP 头里面的,你找找 看 是不是 Location
q397064399
2016-11-29 12:12:21 +08:00
<META HTTP-EQUIV=REFRESH CONTENT="1; URL=http://www.example.org/bar">.
还有这种
domty
2016-11-29 12:20:09 +08:00
http response 重定向会返回指定的状态码,比如 302 。返回的消息头有重定向地址 Location 。
你拿着授权成功的标识(比如 cookie)重新访问就好了。
jason19659
2016-11-29 12:41:02 +08:00
redirect_uri

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/324038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX