使用万能框架HttpHelper抓取安卓APP数据
2016-04-27 17:16
609 查看
本人安卓手机上安装一款内部办公APP,里面有一个查询功能,在使用过程中用手机查询实在不方便,今天一直寻思有什么好办法把这个查询功能移植到自己的Winform中,下午突然想到苏飞老大的万能框架,在老大的指导下实现了自己想要的功能。下午发帖求助过,因数据是内部数据,下午发帖求救过程中涉及到服务器IP等,所以我把原帖修改了,留言让老大把帖删了,再次向苏飞老大说声对不起。同时对于苏飞老大的指导,再次表示感谢! 下面说说实现过程吧:
第一步:抓取APP数据包。
方法详见:http://blog.csdn.net/jdbc/article/details/51262664
第二部:使用万能框架获得想要的数据
主要代码:
HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
{
URL = "http://服务器IP:8080/phoneserver/phserver",//URL 必需项
Method = "post",//URL 可选项 默认为Get
IsToLower = false,//得到的HTML代码是否转成小写 可选项默认转小写
Cookie = "",//字符串Cookie 可选项
Referer = "",//来源URL 可选项
Postdata = "<?xml version='1.0' encoding='GBK'?><Packet>"
+ "<Head><RequestType>V002</RequestType><User>****</User><Password>******</Password></Head><Body><BasePart><QueryType>04</QueryType><PolicyNo/>"
+ "<LicenseNo/>"
+ "<FrameNo>"+textBox1.Text.Trim()+"</FrameNo>"
+ "<FrameLastSixNo/>"
+ "<EngineLastSixNo/>"
+ "<PageNo>1</PageNo>"
+ "</BasePart>"
+ "</Body></Packet>",//Post数据 可选项GET时不需要写
Timeout = 100000,//连接超时时间 可选项默认为100000
ReadWriteTimeout = 30000,//写入Post数据超时时间 可选项默认为30000
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",//用户的浏览器类型,版本,操作系统 可选项有默认值
ContentType = "application/x-www-form-urlencoded",//返回类型 可选项有默认值
Allowautoredirect = false,//是否根据301跳转 可选项
//CerPath = "d:\123.cer",//证书绝对路径 可选项不需要证书时可以不写这个参数
//Connectionlimit = 1024,//最大连接数 可选项 默认为1024
ProxyIp = "",//代理服务器ID 可选项 不需要代理 时可以不设置这三个参数
//ProxyPwd = "123456",//代理服务器密码 可选项
//ProxyUserName = "administrator",//代理服务器账户名 可选项
ResultType = ResultType.String
};
HttpResult result = http.GetHtml(item);
string html = result.Html;
string cookie = result.Cookie;
richTextBox1.Text = html;
获取结果:
G
M
T
Text-to-speech function is limited to 100 characters
Options :
History :
Help : FeedbackClose
第一步:抓取APP数据包。
方法详见:http://blog.csdn.net/jdbc/article/details/51262664
第二部:使用万能框架获得想要的数据
主要代码:
HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
{
URL = "http://服务器IP:8080/phoneserver/phserver",//URL 必需项
Method = "post",//URL 可选项 默认为Get
IsToLower = false,//得到的HTML代码是否转成小写 可选项默认转小写
Cookie = "",//字符串Cookie 可选项
Referer = "",//来源URL 可选项
Postdata = "<?xml version='1.0' encoding='GBK'?><Packet>"
+ "<Head><RequestType>V002</RequestType><User>****</User><Password>******</Password></Head><Body><BasePart><QueryType>04</QueryType><PolicyNo/>"
+ "<LicenseNo/>"
+ "<FrameNo>"+textBox1.Text.Trim()+"</FrameNo>"
+ "<FrameLastSixNo/>"
+ "<EngineLastSixNo/>"
+ "<PageNo>1</PageNo>"
+ "</BasePart>"
+ "</Body></Packet>",//Post数据 可选项GET时不需要写
Timeout = 100000,//连接超时时间 可选项默认为100000
ReadWriteTimeout = 30000,//写入Post数据超时时间 可选项默认为30000
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",//用户的浏览器类型,版本,操作系统 可选项有默认值
ContentType = "application/x-www-form-urlencoded",//返回类型 可选项有默认值
Allowautoredirect = false,//是否根据301跳转 可选项
//CerPath = "d:\123.cer",//证书绝对路径 可选项不需要证书时可以不写这个参数
//Connectionlimit = 1024,//最大连接数 可选项 默认为1024
ProxyIp = "",//代理服务器ID 可选项 不需要代理 时可以不设置这三个参数
//ProxyPwd = "123456",//代理服务器密码 可选项
//ProxyUserName = "administrator",//代理服务器账户名 可选项
ResultType = ResultType.String
};
HttpResult result = http.GetHtml(item);
string html = result.Html;
string cookie = result.Cookie;
richTextBox1.Text = html;
获取结果:
G
M
T
Detect language AfrikaansAlbanian ArabicArmenianAzerbaijani BasqueBelarusian BengaliBosnianBulgarian CatalanCebuanoChichewa Chinese (Simplified)Chinese (Traditional) CroatianCzechDanish DutchEnglishEsperanto EstonianFilipinoFinnish FrenchGalicianGeorgian GermanGreekGujarati Haitian CreoleHausaHebrew HindiHmong HungarianIcelandicIgbo IndonesianIrishItalian JapaneseJavaneseKannada KazakhKhmerKorean LaoLatinLatvian LithuanianMacedonianMalagasy MalayMalayalam MalteseMaoriMarathi MongolianMyanmar (Burmese) NepaliNorwegianPersian PolishPortuguesePunjabi RomanianRussianSerbian SesothoSinhalaSlovak SlovenianSomaliSpanish SundaneseSwahiliSwedish TajikTamilTelugu ThaiTurkishUkrainian UrduUzbekVietnamese WelshYiddishYoruba Zulu | Afrikaans AlbanianArabicArmenian AzerbaijaniBasqueBelarusian BengaliBosnian BulgarianCatalanCebuano ChichewaChinese (Simplified) Chinese (Traditional)Croatian CzechDanishDutch EnglishEsperantoEstonian FilipinoFinnishFrench GalicianGeorgianGerman GreekGujaratiHaitian Creole HausaHebrew HindiHmongHungarian IcelandicIgboIndonesian IrishItalianJapanese JavaneseKannadaKazakh KhmerKoreanLao LatinLatvianLithuanian MacedonianMalagasyMalay MalayalamMalteseMaori MarathiMongolianMyanmar (Burmese) NepaliNorwegian PersianPolishPortuguese PunjabiRomanianRussian SerbianSesothoSinhala SlovakSlovenianSomali SpanishSundaneseSwahili SwedishTajikTamil TeluguThaiTurkish UkrainianUrduUzbek VietnameseWelshYiddish YorubaZulu |
Options :
History :
Help : FeedbackClose
相关文章推荐
- tcprstat的使用方式
- HTTPS 初解
- HTTP实体和编码
- TCP/IP网络是如何通讯的
- Servlet——HttpServletRequest对象详解
- 【转载】iOS ASI http 框架详解
- SQL Server之——JDBC 到主机 的 TCP/IP 连接失败
- 利用nginx的http转发功能做内网yum源
- OpenSSH的应用和利用OpenSSL创建私有CA签证给httpd服务器开起https
- HTTP的识别,认证与安全
- HTTP网络连接相关知识整理(六):分发处理根异常
- 小米路由器mini--OpenWrt刷机/adhoc网络配置/视频传输测试
- IOS学习 网络 NSURLSession和POST文件上传
- Android网络链接状态
- 深信服系列课程视频---网络安全必修课
- iOS应用架构谈-网络层设计方案
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- HTTP网络连接相关知识整理(四):超时异常
- P2P实时音视频之NAT穿越
- HTTP结构