2 luckytjm luckytjm 于 2016.02.25 11:46 提问

真心求教关于自动化Web请求的开发问题,类似于开发一个12306桌面抢票软件,具体请进呢

Web开发确实是博大精深,因为目前个人是开发手游,因为某些原因需要暂时做这么一个东西,但时间的问题不太允许我深入的研究Web开发,所以特来求教各位大神,我需要做的这个东西和之前一直流传的12306桌面抢票软件很像。就是根据某些网站写一个外挂软件,让一些需要手动完成的操作,代码来自动完成。

刚开始我以为Web请求一般都用一个拼接好的url直接访问,然后获得一些数据,接着再处理这些数据就好了。但事实证明我太天真了。在开发的过程中却遇到这么一些问题,自己难以解决,所以特来真心求教。

(1)如图:图片说明
图片说明。像这么一个过程,我用抓包却抓不到看起来好使的url,来让我请求“查询北京到上海的火车票”......所以这里卡住了...

(2)这个问题有点特殊,不确定是不是我的错觉,如果有说错,万望指正哈。就是页面它自己会有个倒计时,到点之后,会根据你当前页面的选相关东西来发出对应的请求,如图:图片说明
图片说明,我留它自动在那里刷票,倒计时到一半,我够了一个筛选条件,然后下一次刷新就会出现筛选过后的信息,这个是怎么做到的呢?

(3)这个问题页有点特殊,不确定是不是分析错误。如果有说错,万望指正哈。之前我接触到的http交互,返回的结果仅仅是一些必要的数据而已,但Web的话确是还有一个html,解析这里的数据才是页面中显示的数据,所以我不太确定应该解析哪个咧...

(4)类似于第一个问题,就是不知道怎么发出请求。比如说:我现在想做一个12306自动登陆账号、自动切换账号的功能,但是抓包没有抓到啥有用的信息咧,请问这是什么回事呢?

3个回答

mouyong
mouyong   2016.02.25 12:43
已采纳

(1)估计进行了加密?
(2)筛选条件必须在自动提交的时候重新转参给服务器,这样才能得到与原来一样的页面。
(3)你的分析是对的呀,http仅仅提交给服务器一个请求必须的参数,而具体页面内容自然是要通过分析html才能拿到
(4)其实通过你这几个问题,我也意识到了一个问题:http与web还真的不一样,http只负责了数据的请求与响应,而具体内容其实http是不负责的,具体内容是由http分包发给浏览器,由浏览器去处理的。所以自动登录、切换账号等功能还是要基于分析html相关内容才能确定。最麻烦的是,它们有可能进行了加密处理?也许能判断出你是自动提交的?

mouyong
mouyong 回复TrustTJM: 不清楚你是使用什么工具或语言呀,不好说。
接近 2 年之前 回复
luckytjm
luckytjm 回复TrustTJM: (2)那能大致说说是发起某个请求才使得页面的设置保存,还是调用某个AS方法呢?如果纯代码实现的话,应该大致是怎么样的呢?摸不清头绪咧。(4)加密不加密确实不太清楚咧
接近 2 年之前 回复
luckytjm
luckytjm (1)这个我也不知道咧。。
接近 2 年之前 回复
luckytjm
luckytjm (1)这个我也不知道咧。。
接近 2 年之前 回复
mouyong
mouyong   2016.02.25 12:46

又想了想,也许不是用抓包?因为象你图示中说到的,查询“从上海到北京的火车票”这样的请求,在http里应该是类似这样的请求:
http://www.xxx.com/someServerPage?from=上海&to=北京
但是这样的请求url是会被伪造的,使得你看不到它提交的相关信息。

luckytjm
luckytjm 嗯,如果真是加密了,那就麻烦了咧。。。。不过那些360、百度等抢票浏览器是咋做到的呢?
接近 2 年之前 回复
luckytjm
luckytjm   2016.02.26 12:07

部分的问题解决掉了,是用Post请求就行。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!