本项目是由木鱼发起的一个基于.NET4.5的12306订票客户端。项目使用C#语言,使用FSLib.Network项目作为网络层访问库,主要用于演示目的。
主要原因是因为很多同学希望能借由12306练手,以此打开通往网络编程的大门……选择12306不是没有原因的,因为其复杂多变,又有错综复杂的逻辑关系,又十分具有现实意义,嗯。
12306订票助手.NET的代码由于历史和功能的原因,其体系过于庞大,并不适合(且目前也不能)开放源码。因此重新单独启动这个简单的项目,希望能给予想学习网络编程的同学以帮助。
本系列文章
- 12306订票客户端 FOR .NET 演示项目 【7】登录9年前 (2015-08-18)
- 12306订票客户端 FOR .NET 演示项目 【6】验证码输入9年前 (2015-08-12)
- 12306订票客户端 FOR .NET 演示项目 【5】获得余票数据9年前 (2015-06-10)
- 12306订票客户端 FOR .NET 演示项目 【4】界面框架&基础数据初始化9年前 (2015-06-08)
- 12306订票客户端 FOR .NET 演示项目 【3】流程分析和项目规划9年前 (2015-05-28)
- 12306订票客户端 FOR .NET 演示项目 【2】准备工具9年前 (2015-05-22)
- 12306订票客户端 FOR .NET 演示项目 【1】项目概况9年前 (2015-05-19)
FSLIB.NETWORK 网络库系列文章
- 12306订票助手.NET V10.6.1 发布8年前 (2016-09-01)
- 开源 FSLIB.NETWORK 库 2.2.0.08年前 (2016-08-02)
- FSLIB.NETWORK手册(1) · 基本概念和流程8年前 (2016-05-05)
- 原创FSLib.Network库更新 2.0.0 版8年前 (2016-04-05)
- 原创FSLib.Network库更新 1.6.0版(目前专注于HTTP的高性能高易用性网络库)9年前 (2015-12-13)
- 玩具系列:批量QQ群签到工具v2 (暂时屏蔽自定义位置功能)9年前 (2015-08-29)
- 玩具系列:批量QQ群签到工具(支持自定义位置)9年前 (2015-08-28)
- 12306订票助手.NET 8.0.8 发布9年前 (2015-08-21)
- 12306订票客户端 FOR .NET 演示项目 【7】登录9年前 (2015-08-18)
- 12306订票客户端 FOR .NET 演示项目 【6】验证码输入9年前 (2015-08-12)
- 12306订票客户端 FOR .NET 演示项目 【5】获得余票数据9年前 (2015-06-10)
- 原创FSLib.Network库发布 1.5 版9年前 (2015-06-09)
- 12306订票客户端 FOR .NET 演示项目 【4】界面框架&基础数据初始化9年前 (2015-06-08)
- 12306订票客户端 FOR .NET 演示项目 【3】流程分析和项目规划9年前 (2015-05-28)
- 12306订票客户端 FOR .NET 演示项目 【2】准备工具9年前 (2015-05-22)
- 12306订票客户端 FOR .NET 演示项目 【1】项目概况9年前 (2015-05-19)
- 原创FSLib.Network库发布 1.4 版9年前 (2015-05-08)
- 放一个抓取网页的信息监控小工具源码9年前 (2015-04-27)
- FSLib.Network网络库使用教程[2] 实例教程·美女们快到硬盘里来!9年前 (2015-01-30)
- FSLib.Network网络库使用教程[1] 基本使用9年前 (2015-01-19)
- 原创FSLib.Network库(目前专注于HTTP的高性能高易用性网络库)9年前 (2015-01-18)
实现目标
本项目仅包含基本的12306功能实现:
- 登录
- 查询
- 提交订单
更详细进阶的功能将会在之后视情况是否加入。
技术概述
本项目出于演示&练习目的,所以将会使用较新的平台、工具以及技术。部分情况下可能因为较新所以无法被您手中的平台直接编译或使用。遇到此类情形时,请视需要改写再重新测试。
当前平台以及各项技能设定如下
- 开发工具: Visual Studio 2015 RC
- 目标平台: .NET FRAMEWORK 4.5
- 网络访问库: FSLib.Network
- 辅助库: FSLib.Extension
- JSON解析库: JSON.NET
- 执行模型: 单线程,使用异步完成所有操作
- 解决方案为单项目方案,包含所有逻辑和数据对象以及界面
你可能需要对以下内容或相关技术较为了解才可以无障碍地继续:
- HTTP协议相关知识
- C#语言
- .NET中网络相关操作的知识
- HTML/Javascript的阅读分析能力
- 遇到比较诡异的错误时脑洞大开的指数,指数越高对解决问题打破僵局越有利
- Fiddler/Chrome/Firefox等浏览器或开发工具调试的能力
流程规划
将会按照以下流程逐步推进。由于我时间不固定,无法给出具体的时间安排,希望不会烂尾……
同时依据实际情况,可能会发生变更。对应的章节完成后,这里将会更新。
- 项目概况
- 准备篇(基础知识以及工具介绍)
- 所有流程简介
- 基础数据准备
- 验证码输入
- 登录
- 查票
- 准备提交订单
- 提交订单
相关链接
本项目仅作为演示目的,禁止用于将全部或部分代码用于商业目的。
禁止转载。
鱼大大,还有没有编写这类软件的相关书籍或资料呢?俺要潜心研究一下,求~推荐
这个……主要是靠经验,没有专门著书的必要
支持! 晚上GIT下来开始研究
请看我头像~