【问题标题】:Android - Accessing member's only websites from applicationAndroid - 从应用程序访问会员唯一的网站
【发布时间】:2013-10-01 19:54:28
【问题描述】:

我正在尝试为某个没有提供移动版本的网站创建应用。我使用的方法是根据 URL 下载源代码并从中读取我想要的所有内容。不幸的是,该网站需要登录才能访问关键信息。

当我从 URL https://domain.com?user=user_name&pass=password 下载源代码时,该站点通过显示 user_name 已登录来迎接我。但是当我尝试访问会员的唯一站点时,例如 https://domain.com/members/page_1/,源代码显示我“访问错误”。所以问题是 cookie 无法存活。

源码下载功能:

private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... urls) {
        String response = "";
        for (String url : urls) {
            Log.d(TAG, url);
            DefaultHttpClient client = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(url);
            try {
                HttpResponse execute = client.execute(httpGet);
                InputStream content = execute.getEntity().getContent();

                BufferedReader buffer = new BufferedReader(
                        new InputStreamReader(content));
                String s = "";
                while ((s = buffer.readLine()) != null) {
                    response += s;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return response;
    }
}

【问题讨论】:

    标签: java android http cookies


    【解决方案1】:

    我只是想说

    切勿在 URL 中输入密码。

    这是一个巨大的安全问题。


    就 cookie 保持活动的部分而言,您应该在 HTTP 请求到达时查看它们,以确保它们确实具有“Set-Cookie”标头。从 OP 看来,该网站实际上并未向您发送任何 cookie。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多