0

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

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

源码下载功能:

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;
    }
}
4

1 回答 1

0

我只是在这里说

切勿在 URL 中输入密码。

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


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

于 2013-09-22T01:00:23.253 回答