【问题标题】:How to take a redirection URL如何获取重定向 URL
【发布时间】:2011-03-22 06:41:16
【问题描述】:

我的重定向有问题,在我的工作中,我必须连接到一个自动转到另一个 URL 的 URL,此时它需要凭据(用户名和密码)并重定向到一个包含参数的 URL需要我。我怎样才能得到这个参数?

确切地说,我必须这样做:

使用您的client_id 和类型设置为 user_agent 的 URL https://graph.facebook.com/oauth/authorize 嵌入 Web 浏览器。由于您的应用程序嵌入了一个小窗口,您可以使用 display 参数触发授权对话框的紧凑“弹出”版本:

graph.facebook.com/oauth/authorize?
    client_id=...&
    redirect_uri=www.facebook.com/connect/login_success.html&
    type=user_agent&
    display=popup

在用户授权您的应用程序后,我们使用 URL 片段中的访问令牌将用户重定向回 www.facebook.com/connect/login_success.htmlwww.facebook.com/connect/login_success.html#access_token=...&expires_in=... 拦截上面的重定向并从 URL 中读取访问令牌。使用访问令牌代表用户从 Graph API 获取数据: graph.facebook.com/me?access_token=....

我需要access_token

【问题讨论】:

    标签: java facebook url redirect


    【解决方案1】:

    您可以使用apache http components httpclient 来执行此操作, 它会自动跟随重定向

    HttpClient client=new HttpClient();
    GetMethod get=new GetMethod("graph.facebook.com/oauth/authorize?client_id=...&   redirect_uri=www.facebook.com/connect/login_success.html&type=user_agent&display=popup");
    int status=client.exectueMethod(get);
    

    然后您将在响应的 Location 标头中获得所需的信息,您可以使用以下方式访问:

    String location=get.getResponseHeader("location").getValue();
    

    并为你想要的 url 片段解析 location-header。

    希望对你有所帮助

    【讨论】:

    • 我尝试了你的建议,但它返回了字符串:[Lorg.apache.commons.httpclient.Header;@409cb0f4 我能做什么???
    • 你忘了getgetValue()吗?
    猜你喜欢
    • 2018-05-02
    • 2016-12-22
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2013-02-24
    相关资源
    最近更新 更多