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