开发任意网站Android客户端教程

news/2024/5/20 12:06:55/文章来源:https://blog.csdn.net/mypanlong/article/details/42966653
程序已经完成,源码下载: Yangtze.zip (2 MB, 下载次数: 5337)
2012-12-19 09:05 上传
点击文件名下载附件
下载积分: 下载豆 -2

登陆是需要账号的,账号可能还要留着后续开发.而 我已经毕业了, 要是被改了我还真没法改回来了...所以就不提供了.如果有人特别想要登陆看看的,可以在QQ上M我...


开发Android网站客户端通常有两种方法:
第一种,通过服务端的开放平台,调用提供的API接口来开发,比如说淘宝开放平台,新浪微博之类的;
第二种,服务端没有提供任何接口,你也没有服务端任何数据库访问权限,就是一个纯纯粹粹的网站,要你做客户端。今天,我要和大家分享的正是第二种情况。
首先需要准备一个工具:httpWatch.这是一个网页数据分析工具.可以查看到你发送/接受的数据.特别是post提交的数据,在某些需要登录的网页中尤为重要.
附件下载 HttpWatchPro-ha-crack.zip (15.08 MB, 下载次数: 4868)
2012-10-17 15:15 上传
点击文件名下载附件
下载积分: 下载豆 -2

这个软件是以插件的形式存在于IE中的,支持IE6-9,使用的时候像这样就可以了.

1.JPG (143.87 KB, 下载次数: 295)

下载附件  保存到相册

2012-10-17 15:18 上传


点击录制,然后在浏览器输入地址打开.就可以看到数据哦.以百度为例

2.JPG (391.84 KB, 下载次数: 284)

下载附件  保存到相册

2012-10-17 15:20 上传


可以看到百度的首页其实包含了很多链接.有图片的,有css样式的,当然我们最关心的还是那个目标地址为 www.baidu.com的get请求.
在这个请求的"内容"标签里面可以看到网页返回的html数据.里面包含了各个链接的地址.如何解析出来呢?
当然你可以用xml的解析方法.但是这个html的标签实在太多了...不管用xml的哪种解析方式都是折腾人.还好我们有一个专门解析html的工具jsoup.
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据.android使用的时候,导入这个jar包就可以了.
附件下载 jsoup-1.7.1.jar (271.75 KB, 下载次数: 1870)
2012-10-17 15:24 上传
点击文件名下载附件
下载积分: 下载豆 -2

下面来一个解析示例,是我代码里面的一部分.
[Java] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
public void handResponse(MyHttpResponse myHttpResponse) {
        Document doc;
        if (myHttpResponse.getPipIndex() == NetConstant.HOMEPAGE) {
            doc = myHttpResponse.getData();
            Elements hidden_inputs = doc.select("input[type=hidden]");
            for (Element ele : hidden_inputs) {
                String[] arr = new String[] {
                        ele.attr("name"), ele.attr("value")
                };
                Globe.sHideParams.add(arr);
            }
            hidden_inputs = doc.select("input[type=submit]");
            Globe.sHideParams.add(new String[] {
                    hidden_inputs.get(0).attr("name"), hidden_inputs.get(0).attr("value")
            });
            System.out.println("获取首页信息成功");
            // System.out.println(doc);
        }
    }

Elements hidden_inputs = doc.select("input[type=hidden]"); 这是关键的一句,是从这个html字符串转化来的doc文件中,查找所有type属性等于hidden的input标签.
doc.select后面放的是css选择器.我也不会用,不过用着用着就熟练了~~~比如查找所有的超链接就是.select("a[href]");
至于找到以后的Elements相关方法更是丰富,具体可以看看这个API: http://jsoup.org/apidocs/org/jsoup/nodes/Element.html
找到了之后就简单了对吧,点击按钮,发送请求,然后解析数据,获得下一批链接地址.

关于cookie的应用:(可能是我第一次用这个,又或者是我试验的网站比较简单,所以可能有不完善的地方)
cookie可以理解为一些信息,你每次请求数据的时候都会用,但是当你做登陆之类的操作时,如果你登陆成功了,服务器会保存记录你登陆成功时用的cookie.下次你访问的时候就可以选择了.如果在请求的header里面附上这个cookie,服务器就认为你登陆了.那么你请求一些需要登陆才能查看的信息时,就不会提示你登陆了.
获取cookie的代码:
[Java] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
if (req.getPipIndex() == NetConstant.LOGIN) {
                                        CookieStore store = client.getCookieStore();
                                        List<Cookie> cookies = store.getCookies();
                                        if (cookies.isEmpty()) {
                                        } else {
                                            mCookie = cookies.get(0);
                                            mCookieString = mCookie.getName() + "="
                                                    + mCookie.getValue();
                                        }
                                    }


将这个cookie保存起来待用.
附加cookie的代码:
post.setHeader("Cookie", Globe.sCookieString);

最新比较闲,于是就想着给学校的教务处网站做一个客户端,免得像以前读书时,查个课表,分数还要去电脑上弄.
虽然还没做完,但是技术上的问题都OK了.就把一些实现思路和注意的地方发上来.大家有什么中意的网站都可以做一个试试的.

转自:http://www.apkbus.com/forum.php?mod=viewthread&tid=73305&extra=page%3D1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_814224.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一步步教你为网站开发Android客户端

本文面向Android初级开发者&#xff0c;有一定的Java和Android知识即可。文章覆盖知识点&#xff1a;HttpWatch抓包&#xff0c;HttpClient模拟POST请求&#xff0c;Jsoup解析HTML代码&#xff0c;动态更新ListView背景介绍&#xff1a;客户端&#xff08;Client&#xff09;或…

Android模拟登陆带验证码的网站客户端

首先获取验证码并保存Cookie&#xff0c;登陆时将Cookie和账号密码一同发送出去&#xff0c;返回状态码200&#xff0c;登陆成功&#xff0c;接下来再去访问其他需要登录权限的页面时附上Cookie发送出去即可。 要实现模拟登陆&#xff0c;首先需要了解登陆网站时请求中都包含什…

使用jsoup做任意网站的客户端

jsoup是一个解析网页源码的开源库&#xff0c;他能按照给定的规则提取出一个网页中的任意元素&#xff0c;和其他网页解析库不同的是&#xff0c;他提取网页内容的方式和css、jquery的选择器非常相似。因此如果你懂得前端的知识&#xff0c;只需根据以下的代码样例就可以在3分钟…

原来我们不懂百度seo排名和百度竞价

2013年即将结束&#xff0c;高富白美在欢乐着自己的年假和年终奖&#xff0c;而我等只能继续苦逼的为梦想坚持到除夕放假&#xff0c;或许这是假日组在淬炼我们的精神吧&#xff0c;笑一笑有啥&#xff0c;切入主题。网络营销千千万&#xff0c;我们今天只看百度系&#xff0c;…

免费主机备案带宽_怎样自己建立一个网站,免费建站靠不靠谱

一、网站的组成网站主要由域名、服务器、网页三个部分组成。如果把网站比作一个房子的话&#xff0c;那么域名&#xff1a;相当于网站的地址&#xff0c;或者说是门牌号&#xff0c;用来找到网站&#xff0c;网站上的网页都是以网站的域名开头的&#xff0c;例如网站域名是www.…

Flink 指定时间范围内网站总浏览量(PV)的统计

基于Flink 统计每小时内的网站PV。 public class Flink03_Practice_PageView_Window2 {public static void main(String[] args) throws Exception {//1.获取执行环境StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment();//2.读取文本数据…

JavaScript网站设计实践(六)编写live.html页面 改进表格显示

一、编写live.html页面&#xff0c;1、JavaScript实现表格的隔行换色&#xff0c;并且当鼠标移过时当前行高亮显示&#xff1b;2、是输出表格中的abbr标签的内容 实现后的效果图是这样的&#xff1a; 1、实现思路 在输出表格的时候&#xff0c;给出一个判断&#xff0c;如果偶数…

分享10个最佳的WordPress教程免费学习网站

WordPress是用于发布信息的最热门平台之一。 WordPress可用于个人或商业博客&#xff0c;也可以为你用于你的在线业务。WordPress最大的优点是&#xff0c;你可以轻松地去进行自定义设置&#xff0c;而且不必懂太多编程方面的知识。你对WordPress的一些知识懂的越多&#xff0c…

Python爬虫:使用正则表达式爬取网站电影信息

以爬取电影天堂喜剧片前5页信息为例&#xff0c;代码如下&#xff1a; 1 # coding:UTF-82 3 import requests4 import re5 6 def mov():7 headers{User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/53…

流量排名前一千万网站,三分之一使用 WordPress

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; >>> WordPress 在官博发文&#xff0c;庆祝它在流量排名前一千万网站中的市场占有率达到了三分之一。据 W3Techs 的数据&#xff0c;WordPress 在前一千万网站的市场份额从一年前的 29…

node的系统核心模块实现服务器功能、用nodejs做动态网站(后端渲染)

1、初步实现服务器功能详解 a、静态服务器功能---提供静态网页&#xff08;不管什么路径访问的响应只有ok&#xff09; b、优化a做的功能 ---处理路径的分发&#xff08;我们期待结果是不同路径对应不同响应处理&#xff08;页面&#xff09;&#xff09; 通过postman工具可以…

网站速度测试

为什么80%的码农都做不了架构师&#xff1f;>>> |国内 卡卡网&#xff1a;http://www.webkaka.com/ &#xff08;可以设置国内测试点和全球测试点 奇云测速&#xff1a;http://ce.cloud.360.cn/ |国外 PINGDOM &#xff1a;http://tools.pingdom.com/fpt/ |导航…

大型网站技术架构(四)网站的高性能架构

2019独角兽企业重金招聘Python工程师标准>>> 网站性能是客观的指标&#xff0c;可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间&#xff0c;指从发出请求到最后收到响应数据所需要的时…

偷情网站被黑 无隐私的互联网下如何保护自己

用户隐私信息被盗&#xff0c;似乎是自互联网诞生以来&#xff0c;一直盘旋在头顶挥散不去的阴影——最为普及的Windows系统自身存在的各种问题&#xff0c;网站被黑、数据被窃事件层出不穷。即使目前是目前最为火爆的移动互联网&#xff0c;安卓系统的病毒应用及各种堵之不及的…

spark读取 kafka nginx网站日志消息 并写入HDFS中(转)

原文链接&#xff1a;spark读取 kafka nginx网站日志消息 并写入HDFS中 spark 版本为1.0 kafka 版本为0.8 首先来看看kafka的架构图 详细了解请参考官方 我这边有三台机器用于kafka 日志收集的 A 192.168.1.1 为server B 192.168.1.2 为producer C 192.168.1.3 为consumer 首先…

Linux环境下部署Jpress大型博客网站

Jpress简介 一个类似 WordPress 的产品&#xff0c;使用Java开发。 开始部署 1.环境准备 1.1.搭建tomcat jdk安装 #这里的eof使用单引号引起来是为了让特殊符号也写入文件 #PATH 存放命令的路径&#xff0c;如果不小心改错了/etc/profile文件那么命令就不能使用了&#xf…

使用 Asp(vbs) 来读取 XML 数据岛 来制作网站菜单

总的来说还得使用到Microsoft的ActiveX创建XML对象&#xff1a;createObject("Microsoft.XMLDOM")读取节点&#xff1a;selectSingleNode("nodename") //nodename为节点名。读取属性&#xff1a;attributes.getNamedItem("attribute") //attribu…

部署论坛项目并使用redis缓存加速网站访问流量

部署discuz并使用redis加速 1.部署LNMP环境 1.1.准备yum环境 [rootjiangxl ~]# rm -rf /etc/yum.repos.d/* [rootjiangxl ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo ;curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.…

《大型网站技术架构:核心原理与案例分析》读书笔记 - 网站的技术升级路线...

本文描述网站从小到大演变过程中的技术升级路线&#xff1b;1.初始架构一台服务器&#xff0c;应用、DB、文件都在一块&#xff0c;使用经典的LAMP模式构建整个站点&#xff1b; 优点很明显&#xff0c;开发部署都简单&#xff0c;船小好掉头&#xff0c;做不起来也亏不了多少&…

filebeat收集多个域名网站日志并存储到不同的es索引库(五)

filebeat收集多个域名日志并创建不同索引 1.为什么要针对不同的应用系统创建不同的索引 公司生产环境中一台机器上一定会运行着多个域名的应用&#xff0c;web应用也是集群的方式&#xff0c;如果filebeat收集来的日志都是分散存储&#xff0c;且在es上建立的索引也都是分散的…