[CPyUG] 火车票程序自动购买程序

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[CPyUG] 火车票程序自动购买程序

张知临
小弟昨日从试着从铁道部官网上买火车票,结果页面频繁出错,花了2个小时才顺利买到。于是心血来潮,想用程序模拟一下购票流程,可省去很多频繁刷新的时间。
通过查看购票时浏览器发送的包,订票环节浏览器都是发送指定的数据到具体的网址,程序实现起来难度不算大。但是现在遇到了一个问题,想请教一下大家:
我先说下我的实现情况:
从网上订票,流程为:登陆->查询->预定->订单确认->付款。
但用程序模拟的话,可以直接用登陆->车票预订->生成付款链接->付款
 
现在登陆和订单确认都需要验证码,由于这个网站的验证码最上面和最右面都有缺失,机器识别的难度较大,所以就暂时把验证码提取出来,然后人工识别的方式进行。登陆时直接把账户、密码、验证码提交到指定的地址就可以了。在车票预订的时候,也是按照这种方式,先把人工提交一下订单,然后从浏览器中找出提交的数据以及提交的网址。用程序模拟了一下,却出现“不能重复提交”,检查了一下,header 和form data 都对的,也不知道为什么会出现这个错误。
大神们如果有熟悉和了解这种情况的,帮忙解答一下,先谢过了。
 
2011-12-29

张知临(Zhang Zhilin)
Group of data mining and machine learning
College of Computer Science ,Zhejiang University
38 Zheda Road, Hangzhou 310027, P. R. China
Mobile: 86-134-5680-3869

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 火车票程序自动购买程序

依云
On Thu, Dec 29, 2011 at 10:37:28PM +0800, 张知临 wrote:
> 小弟昨日从试着从铁道部官网上买火车票,结果页面频繁出错,花了2个小时才顺利买到。于是心血来潮,想用程序模拟一下购票流程,可省去很多频繁刷新的时间。
> 通过查看购票时浏览器发送的包,订票环节浏览器都是发送指定的数据到具体的网址,程序实现起来难度不算大。但是现在遇到了一个问题,想请教一下大家:
> 我先说下我的实现情况:
> 从网上订票,流程为:登陆->查询->预定->订单确认->付款。
> 但用程序模拟的话,可以直接用登陆->车票预订->生成付款链接->付款
>
> 现在登陆和订单确认都需要验证码,由于这个网站的验证码最上面和最右面都有缺失,机器识别的难度较大,所以就暂时把验证码提取出来,然后人工识别的方式进行。登陆时直接把账户、密码、验证码提交到指定的地址就可以了。在车票预订的时候,也是按照这种方式,先把人工提交一下订单,然后从浏览器中找出提交的数据以及提交的网址。用程序模拟了一下,却出现“不能重复提交”,检查了一下,header 和form data 都对的,也不知道为什么会出现这个错误。
> 大神们如果有熟悉和了解这种情况的,帮忙解答一下,先谢过了。

有 session id 的,已经登录的 session 当然不能重复登录的。类似的网站我的
处理是,把验证码图片下回来拿看图程序显示,然后等待人工输入验证码,程序拿
设定的用户数据和人工识别出来的验证码登录就可以了。

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://lilydjwg.is-programmer.com/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 火车票程序自动购买程序

bernard.xiong@gmail.com
python下有什么好的认证码识别的程序吗?不是很复杂,干扰很大的那种

在 2011年12月29日 下午11:21,依云 <[hidden email]>写道:
On Thu, Dec 29, 2011 at 10:37:28PM +0800, 张知临 wrote:
> 小弟昨日从试着从铁道部官网上买火车票,结果页面频繁出错,花了2个小时才顺利买到。于是心血来潮,想用程序模拟一下购票流程,可省去很多频繁刷新的时间。
> 通过查看购票时浏览器发送的包,订票环节浏览器都是发送指定的数据到具体的网址,程序实现起来难度不算大。但是现在遇到了一个问题,想请教一下大家:
> 我先说下我的实现情况:
> 从网上订票,流程为:登陆->查询->预定->订单确认->付款。
> 但用程序模拟的话,可以直接用登陆->车票预订->生成付款链接->付款
>
> 现在登陆和订单确认都需要验证码,由于这个网站的验证码最上面和最右面都有缺失,机器识别的难度较大,所以就暂时把验证码提取出来,然后人工识别的方式进行。登陆时直接把账户、密码、验证码提交到指定的地址就可以了。在车票预订的时候,也是按照这种方式,先把人工提交一下订单,然后从浏览器中找出提交的数据以及提交的网址。用程序模拟了一下,却出现“不能重复提交”,检查了一下,header 和form data 都对的,也不知道为什么会出现这个错误。
> 大神们如果有熟悉和了解这种情况的,帮忙解答一下,先谢过了。

有 session id 的,已经登录的 session 当然不能重复登录的。类似的网站我的
处理是,把验证码图片下回来拿看图程序显示,然后等待人工输入验证码,程序拿
设定的用户数据和人工识别出来的验证码登录就可以了。

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://lilydjwg.is-programmer.com/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 火车票程序自动购买程序

ubunoon-2
没的,可可熊之前写过一个很简单的。

在 2011年12月30日 上午8:40,bernard <[hidden email]>写道:
python下有什么好的认证码识别的程序吗?不是很复杂,干扰很大的那种

在 2011年12月29日 下午11:21,依云 <[hidden email]>写道:

On Thu, Dec 29, 2011 at 10:37:28PM +0800, 张知临 wrote:
> 小弟昨日从试着从铁道部官网上买火车票,结果页面频繁出错,花了2个小时才顺利买到。于是心血来潮,想用程序模拟一下购票流程,可省去很多频繁刷新的时间。
> 通过查看购票时浏览器发送的包,订票环节浏览器都是发送指定的数据到具体的网址,程序实现起来难度不算大。但是现在遇到了一个问题,想请教一下大家:
> 我先说下我的实现情况:
> 从网上订票,流程为:登陆->查询->预定->订单确认->付款。
> 但用程序模拟的话,可以直接用登陆->车票预订->生成付款链接->付款
>
> 现在登陆和订单确认都需要验证码,由于这个网站的验证码最上面和最右面都有缺失,机器识别的难度较大,所以就暂时把验证码提取出来,然后人工识别的方式进行。登陆时直接把账户、密码、验证码提交到指定的地址就可以了。在车票预订的时候,也是按照这种方式,先把人工提交一下订单,然后从浏览器中找出提交的数据以及提交的网址。用程序模拟了一下,却出现“不能重复提交”,检查了一下,header 和form data 都对的,也不知道为什么会出现这个错误。
> 大神们如果有熟悉和了解这种情况的,帮忙解答一下,先谢过了。

有 session id 的,已经登录的 session 当然不能重复登录的。类似的网站我的
处理是,把验证码图片下回来拿看图程序显示,然后等待人工输入验证码,程序拿
设定的用户数据和人工识别出来的验证码登录就可以了。

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://lilydjwg.is-programmer.com/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
To be pythoner
My blog: http://www.cnblogs.com/ubunoon/
珍珠饰品:http://zjyuezz.cn.alibaba.com/


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 火车票程序自动购买程序

lan soda
In reply to this post by bernard.xiong@gmail.com
验证码识别涉及OCR和图形学较多,这些领域用python实现的并不多,我是没听说过有现成的库


在 2011年12月30日 上午8:40,bernard <[hidden email]>写道:
python下有什么好的认证码识别的程序吗?不是很复杂,干扰很大的那种

在 2011年12月29日 下午11:21,依云 <[hidden email]>写道:

On Thu, Dec 29, 2011 at 10:37:28PM +0800, 张知临 wrote:
> 小弟昨日从试着从铁道部官网上买火车票,结果页面频繁出错,花了2个小时才顺利买到。于是心血来潮,想用程序模拟一下购票流程,可省去很多频繁刷新的时间。
> 通过查看购票时浏览器发送的包,订票环节浏览器都是发送指定的数据到具体的网址,程序实现起来难度不算大。但是现在遇到了一个问题,想请教一下大家:
> 我先说下我的实现情况:
> 从网上订票,流程为:登陆->查询->预定->订单确认->付款。
> 但用程序模拟的话,可以直接用登陆->车票预订->生成付款链接->付款
>
> 现在登陆和订单确认都需要验证码,由于这个网站的验证码最上面和最右面都有缺失,机器识别的难度较大,所以就暂时把验证码提取出来,然后人工识别的方式进行。登陆时直接把账户、密码、验证码提交到指定的地址就可以了。在车票预订的时候,也是按照这种方式,先把人工提交一下订单,然后从浏览器中找出提交的数据以及提交的网址。用程序模拟了一下,却出现“不能重复提交”,检查了一下,header 和form data 都对的,也不知道为什么会出现这个错误。
> 大神们如果有熟悉和了解这种情况的,帮忙解答一下,先谢过了。

有 session id 的,已经登录的 session 当然不能重复登录的。类似的网站我的
处理是,把验证码图片下回来拿看图程序显示,然后等待人工输入验证码,程序拿
设定的用户数据和人工识别出来的验证码登录就可以了。

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://lilydjwg.is-programmer.com/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 火车票程序自动购买程序

Ning-3
验证码这东西大家都藏着掖着呢,怎会放出来,很多人靠这吃饭

在 2011年12月30日 上午10:20,Lan Soda <[hidden email]>写道:
验证码识别涉及OCR和图形学较多,这些领域用python实现的并不多,我是没听说过有现成的库


在 2011年12月30日 上午8:40,bernard <[hidden email]>写道:
python下有什么好的认证码识别的程序吗?不是很复杂,干扰很大的那种


在 2011年12月29日 下午11:21,依云 <[hidden email]>写道:

On Thu, Dec 29, 2011 at 10:37:28PM +0800, 张知临 wrote:
> 小弟昨日从试着从铁道部官网上买火车票,结果页面频繁出错,花了2个小时才顺利买到。于是心血来潮,想用程序模拟一下购票流程,可省去很多频繁刷新的时间。
> 通过查看购票时浏览器发送的包,订票环节浏览器都是发送指定的数据到具体的网址,程序实现起来难度不算大。但是现在遇到了一个问题,想请教一下大家:
> 我先说下我的实现情况:
> 从网上订票,流程为:登陆->查询->预定->订单确认->付款。
> 但用程序模拟的话,可以直接用登陆->车票预订->生成付款链接->付款
>
> 现在登陆和订单确认都需要验证码,由于这个网站的验证码最上面和最右面都有缺失,机器识别的难度较大,所以就暂时把验证码提取出来,然后人工识别的方式进行。登陆时直接把账户、密码、验证码提交到指定的地址就可以了。在车票预订的时候,也是按照这种方式,先把人工提交一下订单,然后从浏览器中找出提交的数据以及提交的网址。用程序模拟了一下,却出现“不能重复提交”,检查了一下,header 和form data 都对的,也不知道为什么会出现这个错误。
> 大神们如果有熟悉和了解这种情况的,帮忙解答一下,先谢过了。

有 session id 的,已经登录的 session 当然不能重复登录的。类似的网站我的
处理是,把验证码图片下回来拿看图程序显示,然后等待人工输入验证码,程序拿
设定的用户数据和人工识别出来的验证码登录就可以了。

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://lilydjwg.is-programmer.com/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 火车票程序自动购买程序

ubunoon-2
嗯,一方面是这样的,另一方面验证码识别,涉及的都是算法的东西,放开了就没有用了,网站修改了生成算法,又需要重新设计算法。

这个就好比病毒与杀毒软件之间的关系吧,开放了病毒代码,这个病毒肯定也没有用了。

在 2011年12月30日 下午1:39,Ning <[hidden email]>写道:
验证码这东西大家都藏着掖着呢,怎会放出来,很多人靠这吃饭

在 2011年12月30日 上午10:20,Lan Soda <[hidden email]>写道:

验证码识别涉及OCR和图形学较多,这些领域用python实现的并不多,我是没听说过有现成的库


在 2011年12月30日 上午8:40,bernard <[hidden email]>写道:
python下有什么好的认证码识别的程序吗?不是很复杂,干扰很大的那种


在 2011年12月29日 下午11:21,依云 <[hidden email]>写道:

On Thu, Dec 29, 2011 at 10:37:28PM +0800, 张知临 wrote:
> 小弟昨日从试着从铁道部官网上买火车票,结果页面频繁出错,花了2个小时才顺利买到。于是心血来潮,想用程序模拟一下购票流程,可省去很多频繁刷新的时间。
> 通过查看购票时浏览器发送的包,订票环节浏览器都是发送指定的数据到具体的网址,程序实现起来难度不算大。但是现在遇到了一个问题,想请教一下大家:
> 我先说下我的实现情况:
> 从网上订票,流程为:登陆->查询->预定->订单确认->付款。
> 但用程序模拟的话,可以直接用登陆->车票预订->生成付款链接->付款
>
> 现在登陆和订单确认都需要验证码,由于这个网站的验证码最上面和最右面都有缺失,机器识别的难度较大,所以就暂时把验证码提取出来,然后人工识别的方式进行。登陆时直接把账户、密码、验证码提交到指定的地址就可以了。在车票预订的时候,也是按照这种方式,先把人工提交一下订单,然后从浏览器中找出提交的数据以及提交的网址。用程序模拟了一下,却出现“不能重复提交”,检查了一下,header 和form data 都对的,也不知道为什么会出现这个错误。
> 大神们如果有熟悉和了解这种情况的,帮忙解答一下,先谢过了。

有 session id 的,已经登录的 session 当然不能重复登录的。类似的网站我的
处理是,把验证码图片下回来拿看图程序显示,然后等待人工输入验证码,程序拿
设定的用户数据和人工识别出来的验证码登录就可以了。

--
Best regards,
lilydjwg

Linux Vim Python 我的博客:
http://lilydjwg.is-programmer.com/
--
A: Because it obfuscates the reading.
Q: Why is top posting so bad?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
To be pythoner
My blog: http://www.cnblogs.com/ubunoon/
珍珠饰品:http://zjyuezz.cn.alibaba.com/


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 火车票程序自动购买程序

Marlon Yao
In reply to this post by 张知临
一般防止重复提交,页面表单中都会有一个隐藏的token字段,提交时必须把这个字段带上。由于这个token是由服务器端生成的,不能只发送一次POST请求,要先发送一次GET请求,分析页面,取得token的值,然后再发送一次POST请求提交数据。

2011/12/29 张知临 <[hidden email]>
小弟昨日从试着从铁道部官网上买火车票,结果页面频繁出错,花了2个小时才顺利买到。于是心血来潮,想用程序模拟一下购票流程,可省去很多频繁刷新的时间。
通过查看购票时浏览器发送的包,订票环节浏览器都是发送指定的数据到具体的网址,程序实现起来难度不算大。但是现在遇到了一个问题,想请教一下大家:
我先说下我的实现情况:
从网上订票,流程为:登陆->查询->预定->订单确认->付款。
但用程序模拟的话,可以直接用登陆->车票预订->生成付款链接->付款
 
现在登陆和订单确认都需要验证码,由于这个网站的验证码最上面和最右面都有缺失,机器识别的难度较大,所以就暂时把验证码提取出来,然后人工识别的方式进行。登陆时直接把账户、密码、验证码提交到指定的地址就可以了。在车票预订的时候,也是按照这种方式,先把人工提交一下订单,然后从浏览器中找出提交的数据以及提交的网址。用程序模拟了一下,却出现“不能重复提交”,检查了一下,header 和form data 都对的,也不知道为什么会出现这个错误。
大神们如果有熟悉和了解这种情况的,帮忙解答一下,先谢过了。
 
2011-12-29

张知临(Zhang Zhilin)
Group of data mining and machine learning
College of Computer Science ,Zhejiang University
38 Zheda Road, Hangzhou 310027, P. R. China
Mobile: 86-134-5680-3869

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html