11[ 国家企业信用信息公示系统] ( http://www.gsxt.gov.cn ) 使用GeeTest滑块验证码。主站使用online验证模式,难破解。部分分站使用offline验证模式,易破解但多次HTTP请求应答往复,查询效率低。
22[ 国家工商总局] ( http://www.saic.gov.cn/ ) 提供了Android,iOS App,这次就来尝试分析一下App的情况。
3- 总局网站有2套:
4- 新版 http://www.saic.gov.cn/
5- 旧版 http://old.saic.gov.cn/
6- 于是App下载说明页面也有2套:
7- 新版 http://gzhd.saic.gov.cn/gszj/index/telephone/android2.html
8- 旧版 http://gzhd.saic.gov.cn/gszj/index/telephone/android.html
9- ** 威武**
10- 还好App只有1套。
11- 国家工商行政管理总局移动版客户端:
12- Android版 http://gzhd.saic.gov.cn/gszj/saicwap.apk
13- iOS版 https://itunes.apple.com/cn/app/gong-shang-zong-ju/id725956822?mt=8
14- 国家企业信用信息公示系统:
15- Android版 http://gzhd.saic.gov.cn/gszj/gongshi.apk
16- iOS版 https://itunes.apple.com/cn/app/%E5%9B%BD%E5%AE%B6%E4%BC%81%E4%B8%9A%E4%BF%A1%E7%94%A8%E4%BF%A1%E6%81%AF%E5%85%AC%E7%A4%BA%E7%B3%BB%E7%BB%9F/id1048375712?mt=8
3+
4+ 总局网站有2套:
5+
6+ + 新版 http://www.saic.gov.cn/
7+ + 旧版 http://old.saic.gov.cn/
8+
9+ 于是App下载说明页面也有2套:
10+
11+ + 新版 http://gzhd.saic.gov.cn/gszj/index/telephone/android2.html
12+ + 旧版 http://gzhd.saic.gov.cn/gszj/index/telephone/android.html
13+
14+ 还好App只有1套。
15+
16+ 国家工商行政管理总局移动版客户端:
17+
18+ + Android版 http://gzhd.saic.gov.cn/gszj/saicwap.apk
19+ + iOS版 https://itunes.apple.com/cn/app/gong-shang-zong-ju/id725956822?mt=8
20+
21+ 国家企业信用信息公示系统:
22+
23+ + Android版 http://gzhd.saic.gov.cn/gszj/gongshi.apk
24+ + iOS版 https://itunes.apple.com/cn/app/%E5%9B%BD%E5%AE%B6%E4%BC%81%E4%B8%9A%E4%BF%A1%E7%94%A8%E4%BF%A1%E6%81%AF%E5%85%AC%E7%A4%BA%E7%B3%BB%E7%BB%9F/id1048375712?mt=8
1725
1826### 分析
27+
1928** saicwap.apk,看这个名称,好像已经明白了什么。**
2029安装&运行&解包查看` 国家企业信用信息公示系统Android APK ` 文件。
2130UI交互体验基本上就是一个网页。
2231dex很小,assets文件很多。
2332根据名称搜索加猜测,直接得出结论,WebView外壳,JQuery+AJAX实现网页。
2433使用Fiddler抓包,仅有一条简单的HTTP Request & Response。
2534Response是标准JSON文本。
26-
27- 随手写个实现
28- ### 填写Android Mobile HTTP Header参数。
35+
36+ 随手写个实现
37+
38+ ### 填写Android Mobile HTTP Header参数
39+
2940``` Python
3041URL = ' http://yd.gsxt.gov.cn/QuerySummary'
3142MOBILE_ACTION = ' entSearch'
@@ -40,7 +51,9 @@ XRW = 'com.zongjucredit'
4051ORIGIN = ' file://'
4152CHARSET = ' application/x-www-form-urlencoded; charset=UTF-8'
4253```
43- ### 使用requests库。
54+
55+ ### 使用requests库
56+
4457``` Python
4558def query (keyword ):
4659 _data = [(' mobileAction' , MOBILE_ACTION ),
@@ -62,9 +75,11 @@ def query(keyword):
6275 _content = _response.json()
6376 print (json.dumps(_content, indent = 2 , sort_keys = True , ensure_ascii = False ))
6477```
65- ### 测试运行
66- 搜索关键字` 腾讯科技 ` ,得到[ 50条数据] ( https://github.com/9468305/python-script/blob/master/gsxt_mobile/%E8%85%BE%E8%AE%AF%E7%A7%91%E6%8A%8050.txt ) 。
67- 格式示例:
78+
79+ ### 测试运行
80+
81+ 搜索关键字` 腾讯科技 ` ,得到[ 50条数据] ( https://github.com/9468305/python-script/blob/master/gsxt_mobile/%E8%85%BE%E8%AE%AF%E7%A7%91%E6%8A%8050.txt ) 。格式示例:
82+
6883``` JSON
6984{
7085"BUSEXCEPTCOUNT" : " 0" ,
@@ -81,9 +96,5 @@ def query(keyword):
8196"UNISCID" : " 915101006771521538"
8297}
8398```
84-
85- ** 实测,有时会封IP,24小时解禁,一旦封禁,爬虫和官方App一概屏蔽。**
86- ** 威武+1。**
8799
88- ### 源码见GitHub
89- https://github.com/9468305/python-script/tree/master/gsxt_mobile
100+ ** 实测,有时会封IP,24小时解禁,一旦封禁,爬虫和官方App一概屏蔽。**
0 commit comments