如何在java应用程序中从facebook应用程序中提取源代码

如何在java应用程序中从facebook应用程序中提取源代码,java,facebook,Java,Facebook,嗨,我已经安装了一个java应用程序。我可以连接,这样我的facebook会话就可以验证了 我可以获取登录人的id和信息等,但我使用的应用程序无法获取内容 我用我自己的id试过了,但facebook似乎吐出了一大堆垃圾,我认为它认为我是某种机器人或蜘蛛。。。因为术语spider在垃圾中被引用了好几次 我的代码如下 public class m extends WebPage { public m() { FaceBookSession session = (FaceBookSessi

嗨,我已经安装了一个java应用程序。我可以连接,这样我的facebook会话就可以验证了

我可以获取登录人的id和信息等,但我使用的应用程序无法获取内容

我用我自己的id试过了,但facebook似乎吐出了一大堆垃圾,我认为它认为我是某种机器人或蜘蛛。。。因为术语spider在垃圾中被引用了好几次

我的代码如下

public class m extends WebPage {

public m() {

    FaceBookSession session = (FaceBookSession) getSession();


        String contents = "";

    System.err.println("*****************************************************************");
    System.err.println("id ==================" + session.getId());
    System.err.println("name ==================" + session.getUserName());

    try {
        URL aURL = new URL("http://apps.facebook.com/<___>/profile.php?snuid=<__>");
        URLConnection aURLc = aURL.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(aURLc.getInputStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            contents = contents + " <br> " + inputLine;
            System.out.println(inputLine);
        }

        in.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

    this.add(new Label("username", session.getId()));
    this.add(new Label("user", session.getUserName()));
    this.add(new Label("id", contents));

    System.err.println("*****************************************************************");
公共类m扩展网页{
公共m(){
FaceBookSession会话=(FaceBookSession)getSession();
字符串内容=”;
System.err.println(“*************************************************************************************************”);
System.err.println(“id=================”+session.getId());
System.err.println(“名称=================”+会话.getUserName());
试一试{
URL aURL=新URL(“http://apps.facebook.com//profile.php?snuid=");
URLConnection aURLc=aURL.openConnection();
BufferedReader in=新的BufferedReader(新的InputStreamReader(aURLc.getInputStream());
字符串输入线;
而((inputLine=in.readLine())!=null){
内容=内容+“
”+输入行; 系统输出打印LN(输入线); } in.close(); }捕获(例外e){ e、 printStackTrace(); } add(新标签(“用户名”,session.getId()); add(新标签(“user”,session.getUserName()); 添加(新标签(“id”,内容)); System.err.println(“*************************************************************************************************”);
有什么我可以做的吗?我已经用我自己和我的帐户尝试过了,我登录到了facebook并使用了这个有问题的应用程序。但是当我运行这个程序时,我无法访问应用程序im usings页面来提取内容

我只希望能够访问我正在使用的所有应用程序,并在一个页面上显示它们的内容/页面

[编辑]-我很确定问题在于程序没有模拟浏览器或类似的东西、cookies等。程序没有传递所需的信息或其他信息。也许有一种方法可以先通过java程序“登录”,然后进入所需页面


为您的帮助干杯

您确定它没有被压缩吗信息?你能发布一些垃圾吗?我很确定我已经解决了问题。因为应用程序无法模拟浏览器,所以应用程序需要加载的任何cookie等都没有加载。或者当我点击网站的url时,通常在facebook和应用程序之间传递的任何额外信息都没有发生。我它不是压缩的或者其他的,我很确定它是在没有“登录”的情况下访问facebook的信息,因此这是该页面的源代码。如果这是您的问题,您应该检查以使用apache的HttpClient,它将为您管理cookies。嗨,大卫。您真的解决了问题吗?请关闭此问题好吗?Thxwow这是很久以前的事了,如果我知道如何关闭问题,那么我肯定会。。。。