1.5 版变更
本版本主要变动如下。
新增单独的HtmlAgilityPack适配器,支持直接Create<HtmlDocument>请求(单独搜索 ifish 后安装包 network.fishlee.net_html.adapter );
修正当请求发生错误(40x)时会抛出NullReferenceException导致请求失败的BUG;
本版本无破坏性变更。
...
木魚
9年前 (2015-06-09) 7417℃ 6评论
3喜欢
咳咳……本来是打算上个周末弄出本章的,结果因为种种种种时间没安排开的关系,就给忽略了(其实是因为写搜资源的那个软件花了过多的时间……),所以现在赶紧来补上,免得太监了。
本章内容
本章内将会完成如下事情:
构造主窗体并将大致界面构造出来
将UI界面与当前订票的上下文关系关联起来
完成基本数据的准备和相关过程中的界面等待
4.1 构造大致界面
为了简便起见,这里我们约定使用比较简单的界面布局,暂时不添加复杂的功能选项界面。初步规划的界面如下图所示(这是个原型图,表以为我设计是多么的专业,其实我从来不用这玩意儿,这次拿出来耍耍只是为了装逼):
从原型图可以看出来,这是一个比较简单直接的订票界面,没有考虑到刷票等比较复杂的功能,也并没有设计什么多账户登录的功能。一是这样可以简化设计,比...
木魚
9年前 (2015-06-08) 11229℃ 10评论
11喜欢
7.23 概述
7.23 是一个功能性更新,调整了提交订单流程。
变更详情
增加新的同步订单提交接口
修正登录验证码错误时不会重新提醒输入的BUG
相关网址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
本版本下载地址:http://www.fishlee.net/service/download/587/12306%e8%ae%a2%e7%a5%a8%e5%8a%a9%e6%89%8b.net_7.23.0.0.7z
购票提示
推荐的操作:开启CDN加速,多次重复登录以便于使用不同的CDN节点,效果比一次登录开多标签好
如果你要购票的车站是过路站,请尽量往前往后看几站,买到大站以及通票。越...
木魚
9年前 (2015-06-06) 3025℃ 0评论
0喜欢
3.1 本章前言
从本章开始,将会涉及到具体的开发过程。工欲善其事,必先利其器。话虽如此,但准备工具之前知己知彼还是比较重要的……
3.2 12306流程分析
这里我们从一个典型的用户订票流程来考虑并设计流程。
注意:这里同时已经设置好了Fiddler和过滤器以抓取所有请求,供后面使用。如果此时你还没有进行这样的操作,在这之后每一步可能都需要临时分析,会花费不少多余的时间,强烈建议你现在就抓取一个完整的流程记录。相关的内容请参考上一节。
首先用户进入了查票入口,选择日期和地点。这里以经典的北京–上海为例,时间选择的是7月20日,这里的信息不是关键的信息,可以根据你自己的需要来设置。
点击查询后,会跳转到查询页面,并显示查询结果。
这里假定我们要定G1次列车,点...
木魚
9年前 (2015-05-28) 6744℃ 7评论
9喜欢
2.1 前言
其实要做一个12306的软件版客户端,其核心奥义就是抓住重点扔掉花里胡哨的东东。抓住重点说的就是相关的API接口,花里胡哨的东西说的就是图片啊样式啊之类的东东,对于WEB来说它们是必不可少的,但是对于软件版来说这些则是累赘的东西。
由于一个WEB网站中占用体积大头的往往都是些静态的不会动的无生命物种,因此去掉这些东东既可以提高操作速度也可以减轻服务器的负载需求。虽然大型的网站都有CDN了,但是带宽也是要成本的是不是?虽然这成本和咱并没有什么关系。
既然要用软件去实现WEB接口并实现整个流程,那么在林林总总的HTTP请求中准确地找到相关的请求并正确的识别出请求内部的各个参数就很重要了。
2.2 请求跟踪
一般而言,识别请求是个经验活,而识别请求内容并判断响应内容则是个运气活了…...
木魚
9年前 (2015-05-22) 9932℃ 7评论
14喜欢
本项目是由木鱼发起的一个基于.NET4.5的12306订票客户端。项目使用C#语言,使用FSLib.Network项目作为网络层访问库,主要用于演示目的。
主要原因是因为很多同学希望能借由12306练手,以此打开通往网络编程的大门……选择12306不是没有原因的,因为其复杂多变,又有错综复杂的逻辑关系,又十分具有现实意义,嗯。
12306订票助手.NET的代码由于历史和功能的原因,其体系过于庞大,并不适合(且目前也不能)开放源码。因此重新单独启动这个简单的项目,希望能给予想学习网络编程的同学以帮助。
实现目标
本项目仅包含基本的12306功能实现:
登录
查询
提交订单
更详细进阶的功能将会在之后视情况是否加入。
技术概述
本项目出于演示&练习目的,所以将会使用较新的平台、工具以...
木魚
9年前 (2015-05-19) 8596℃ 4评论
20喜欢
通用包处理工具其实是一个烂尾的项目。若干年前我想用它来处理很多格式,后来由于需求不足也没那么多时间,就渐渐忘记了。前些日子有朋友解包QQ7.2的文件时出现问题,于是在时隔三年后更新了一次。
后来一群朋友在我的QQ空间刷屏请求GMD编辑器加上更完整的编辑操作,答应了,原计划是定在周日之前完成的,但现实永远是残忍的,时间很明显算叉了……
于是现在才更新。
变更记录
更新GMD编辑插件,支持右键/快捷键操作,支持对当前文件的节点增删改,支持拖放操作
截图说明
右键可有菜单操作,同时支持快捷键。
支持拖放操作。
支持新增节点。
下载。
发布官网:http://www.fishlee.net/soft/upb3/
本版本直接下载地址:http://www.fishlee.net/servi...
木魚
9年前 (2015-05-17) 3628℃ 5评论
4喜欢
7.22.0.0 概述
7.22 是一个功能性稳定更新。
变更详情
增加登录冲突的提示
微调登录流程
修复拒绝显示推广但依然会显示的bug
发布地址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
本版本下载地址:http://www.fishlee.net/service/download/579/
购票提示
推荐的操作:开启CDN加速,多次重复登录以便于使用不同的CDN节点,效果比一次登录开多标签好
如果你要购票的车站是过路站,请尽量往前往后看几站,买到大站以及通票。越是中间的过路站有票的概率越低
随时关注。切记不是预售期最后一天的票不是按整点放的(很奇怪的,很多人都以为不管哪天的票都是按...
木魚
9年前 (2015-05-15) 2553℃ 0评论
3喜欢
1.4版变更
本版本主要变动如下。
创建支持创建为 JObject 对象;
新增自动检测BOM头的选项,默认开启;
增加 ExceptionStatus 属性;
ResponseFileContent 增加成功标记位
当使用代理服务器且需要验证时,提前设置验证信息以避免407响应;
修正针对单请求的UserAgent设置无效
其它细节调整
本版本暂无破坏性变更。
附议
本版本包含有部分空类,为预留之后开发使用,暂时可无视。
其它详细信息参见之前的相关文章。
...
木魚
9年前 (2015-05-08) 6186℃ 6评论
2喜欢
SimpleUpdater for .NET 是一个适用于.NET的快速自动更新类库,用于快速地为现有的.NET应用程序添加上自动更新功能。
功能特点:
简单易用
支持增量更新等大量更新选项
更新详情
【客户端】增加自定义引用接口 IUpdateNotify 以及 UsingAssembly() 函数,可在正式更新后依然调用自己的处理事件
【客户端】增加 UsingFormUI() 函数以及更新对话框基类,可以使用自己的更新界面完全替换内置界面
【客户端】修改WebClient初始化流程,避免后续下载包时发出的请求没有UserAgent标头
【客户端】修正丢失的资源文件,避免导致命令行版无法使用
【客户端】变更config文件配置
【客户端】安装文件各操作中也支持报告进度
新增加的功...
木魚
9年前 (2015-05-07) 9404℃ 2评论
0喜欢
类库概述
SimpleUpdater for .NET 是一个适用于.NET的快速自动更新类库,用于快速地为现有的.NET应用程序添加上自动更新功能。
功能特点:
简单易用
支持增量更新等大量更新选项
更新详情
【客户端】修正在根目录下更新会导致出错的BUG
【客户端】修正当更新信息设置为显示网页时有时可能会报ActiveX初始化异常的BUG
【包工具】修正当输入最小版本号不正确时没做检查导致客户端出错的BUG
安装方式
以下安装方式任选其一即可:
(推荐) 使用Nuget包管理器,搜索“iFish” 后找到 “iFish's Simple Application Updater Library”(fishlee.net.simpleupdater) 并安装即可。包中不包含...
木魚
9年前 (2015-04-28) 4691℃ 1评论
2喜欢
这个工具是受一个朋友所托写的,简单来说就是在多个信息网站上抓取列表内容,取到最新的内容后,符合要求的给予提示(比如桌面右下角弹窗)。
这是一个比较简单的工具,所以把源码放出来,也算是基于FSLIB.NETWORK的一个实例DEMO。
1.项目简单信息
开发工具:VisualStudio 2015 CTP6
开发语言:C#
目标Framework:4.0
项目类型:WinForm
运行平台:AnyCPU
2.部分技术细节信息
基本结构为主窗口+后台长轮询任务+基于接口的插件式开发
契约管理导入:MEF
后台长轮询任务:Task模式
HTML解析:HtmlAgilityPack+XPath
网络层:FSLib.Network
3.源码下载
4.交流讨论
...
木魚
9年前 (2015-04-27) 16097℃ 7评论
13喜欢
简介
壁纸分辨率调整工具是一个古老的工具了。当初写这个工具的动机就是能简单快捷地将找到的图片调整为适合自己电脑桌面分辨率的图片。
相比其它很多软件工具,特点就是简单明了了,另外就是可以始终保持比例,不会变形(必要的时候会修剪)。
蛮久没动这个了,今天准备来调整一批前些日子拍的照片做壁纸的,便又想起了这货。于是时隔三年后更新了一些东西,发布个新版本吧。
更新说明
配置保存模式重写
自动记录使用过的分辨率
支持设置JPG质量
支持将分辨率追加到文件名中
其它细节更改和BUG修正
下载&官网
直接下载地址 http://www.fishlee.net/service/download/566/
发布官网 http://www.fishlee.net/soft/13/
软件运行需...
木魚
9年前 (2015-04-01) 3844℃ 2评论
4喜欢
关于SCM Manager中文版
SCM Manager 是一款同时支持Git、Subversion、Mercurial的源代码管理服务器,基于Java构建,支持跨平台。相对于其他源码管理服务器,它具有如下优势(基于官方介绍):
安装简单
无需手动配置,从web界面即可进行配置
无需任何WEB服务器和数据库支持
支持用户、用户组和权限控制
脱离第三方软件支持Git、Mercurial、HG和Subversion
全REST客户端API
友好的用户界面和简单的插件API
很多插件可用
BSD授权
SCM Manager的官方网站在 https://bitbucket.org/sdorra/scm-manager/wiki/Home
本中文版基于英文官方版进行制作。相对于原版,...
木魚
9年前 (2015-03-13) 6330℃ 0评论
2喜欢
类库概述
SimpleUpdater for .NET 是一个适用于.NET的快速自动更新类库,用于快速地为现有的.NET应用程序添加上自动更新功能。
功能特点:
简单易用
支持增量更新等大量更新选项
更新详情
打包工具变更文件名编码,避免不同语言版本系统上文件名出现乱码
安装方式
以下安装方式任选其一即可:
(推荐) 使用Nuget包管理器,搜索“iFish” 后找到 “iFish's Simple Application Updater Library”(fishlee.net.simpleupdater) 并安装即可。包中不包含文档,如果您需要文档和手册,请下载完整包。
可以通过下载完整包后引用相关的文件(客户端目录下),推荐引用DLL。EXE模式不推荐,仅推荐其用作...
木魚
9年前 (2015-02-07) 3782℃ 2评论
1喜欢
7.19.1.3617概述
7.19.1是一个功能性稳定更新。
变更详情
修复普客图标显示错误的BUG
修复部分高铁被误认为临客的BUG
发布地址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
本版本下载地址:http://www.fishlee.net/service/download/554/
购票提示
推荐的操作:开启CDN加速,多次重复登录以便于使用不同的CDN节点,效果比一次登录开多标签好
如果你要购票的车站是过路站,请尽量往前往后看几站,买到大站以及通票。越是中间的过路站有票的概率越低
随时关注。切记不是预售期最后一天的票不是按整点放的(很奇怪的,很多人都以为不管哪天的票都是按整...
木魚
9年前 (2015-02-07) 2770℃ 0评论
1喜欢
7.18.15033.3579概述
7.18是一个功能性稳定更新,优化了当12306封锁IP情况下的访问稳定性,修复了部分BUG,改进了部分代购模式的权限。
变更详情
启动时增加快速修复模式(当12306访问出现网络繁忙时自动触发)
移除12306动态通知(更新巨慢还不知道说的什么)
导出互助信息文件增加新的权限选项:隐藏历史订单,不赋予查看订单权限时,仅可查看未付款订单或无法查看订单
增加临客类型图标
修复多线程偶尔会出现的服务器节点模块异常
如果已使用远程打码插件,则会升级远程打码插件到2.0.0.5
其它已知问题的修正以及界面调整
发布地址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
本...
木魚
9年前 (2015-02-02) 4503℃ 7评论
1喜欢
7.17.15022.3490概述
7.17是一个功能性稳定更新,针对403错误过多、查询失败率较高的情况做了一些改进(客户端改进,服务器的问题无法避免,只是做了一些建议)。
变更详情
变更CDN测速算法,结果获取改进为渐进式(即使测速没有完成,也可使用已完成测速的部分进行加速)
测速逻辑变更:对于已知大量失败的节点跳过测速,提高速度
IP被封检测:连续403错误(IP可能被封)时,给出操作建议
查票中的各种返回错误情况给出具体操作建议
其它细节修改和稳定性修改
发布地址
发布主页:http://www.fishlee.net/soft/12306/
论坛地址:http://bbs.fishlee.net/
本版本下载地址:http://www.fishlee.net/service/...
木魚
9年前 (2015-01-22) 5925℃ 17评论
6喜欢
之前曾经有幸参与了一次GDG在北京的分享活动,做了一个小的分享,关于Chrome浏览器上扩展开发(含Firefox上UserScript)中一些比较细微的点的分享。话说那次感觉有点白目,因为去的人基本上都是冲着谷歌的新技术比如谷歌眼镜去的,所以好瞎的感觉。毕竟不是HTML5峰会那种比较有主旨的东西,谷歌搞的摊子太大了。。
用的是12306订票助手做例子,其实12306订票助手从其本身使用的技术而言并不算多牛叉的东西,纯粹是一些前端技术,所以这个文档中涉及到了比较多的细微的点。这些点在开发大多数具有嵌入式脚本的扩展中均有可能用到。当然,订票助手扩展版的源代码在GITHUB上早已停止更新,但这个脚本中使用到的一些技术作为基础东西可以沿用到其它的扩展中。
昨天整理资料的时候看到了当时是用的演示文稿...
木魚
9年前 (2015-01-20) 6137℃ 5评论
7喜欢
上一篇对FSLib.Network库进行了简单的介绍和演示。从本篇开始介绍相关的使用。
1.基本运行机制介绍
FSLib.Network.Http 命名空间下的类是本网络库中用于HTTP处理的相关类型集中存放的地方。由于类库是基于HttpWebRequest以及HttpWebResponse的,所以很多行为表现和逻辑和它们几乎保持一致。
在此基础之上,本类库进行了抽象和总结,并提炼出一整套流程和运行框架。以下分别介绍。
2.相关模型介绍
2.1 HttpClient
HttpClient是开始HTTP处理请求的工厂。它是用来维护、创建、跟踪HTTP请求的一个基本类。可以理解为它是一个容器,维护了所有的Cookies以及全局设置,然后通过它可以创建出不同的HTTP请求实例。
HttpClie...
木魚
9年前 (2015-01-19) 68678℃ 24评论
7喜欢
0.背景
开始在设计订票助手.NET的时候,我就在策划写一个比较易用的HTTP客户端库来完成底层的操作。由于.NET原生的HttpWebRequest比较复杂难用,而内置的WebClient先天不足。
.NET 4.5中新增了HttpClient,但可惜.NET4.0不支持XP,所以暂时只能放弃HttpClient了。在这种种背景之下,我花了很长的时间来打磨这个网络库。虽然起名叫Network,但是目前专注于HTTP库。
这个网络库在订票助手.NET中得到了广泛全面的使用,几乎所有对12306发出的请求都是由它发出的。在订票助手.NET中,最近四个月中,由它发出的请求过亿,其稳定性也是蛮有保证的嘛。
1.功能特点&运行需求
其实它是对HttpWebRequest/HttpWebRe...
木魚
9年前 (2015-01-18) 38504℃ 69评论
26喜欢
其实这个扩展方法库已经发布有段时间了,没有正式发布过。今天整理了一下文档,顺便搞个文档,正式发布吧。
简介
.NET在3.5开始引入的编译器支持扩展方法,允许为现有的对象类型在不改变其原本定义的情况下添加额外的方法。
因此便有了本扩展方法库。本扩展方法库基本上扩展的都是.NET原有的对象,尤其是String对象。
添加本扩展方法库的引用库后,一般不需要特定声明即可使用,大多为现有对象的快捷操作。
安装方法
你有三种方式可以使用本库:
直接使用包管理器(Nuget Package Manager)安装(推荐)
直接下载已编译的二进制包,并根据需要引用
使用源码自行编译
1.直接使用包管理器(Nuget Package Manager)安装
在Visual Studio中,打开Nuget包管...
木魚
9年前 (2015-01-15) 5687℃ 13评论
1喜欢
ILSpy 是一个开源的.NET反编译工具,简洁强大易用是它的特征。在绝大多数情况下,它都能很好的完成你对未知程序集内部代码的探索。
中文版与英文版相比,存在以下不同:
所有的对话框、菜单和提示均已中文化
预置了调试插件,支持在ILSpy中无源代码直接调试程序集
调整主程序编译平台为X86,以在64位系统中调试
介绍、下载、更新历史,请参见发布页 http://www.fishlee.net/soft/ilspy_chs/
本日志备份自 QQ 空间,原文地址:http://user.qzone.qq.com/286495995/blog/1392474920。
...
木魚
10年前 (2014-02-15) 3953℃ 3评论
0喜欢
SCM Manager 是一款同时支持Git、Subversion、Mercurial的源代码管理服务器,基于Java构建。
中文版由木鱼制作,除了进行全面的中文化以外,还提供了配置脚本、预置了插件并进行了插件的中文化,以及安装说明。
SCM Manager 是一款同时支持Git、Subversion、Mercurial的源代码管理服务器,基于Java构建。相对于其他源码管理服务器,它具有如下优势(基于官方介绍):
安装简单
无需手动配置,从web界面即可进行配置
无需任何WEB服务器和数据库支持
支持用户、用户组和权限控制
脱离第三方软件支持Git、Mercurial和Subversion
全REST客户端API
友好的用户界面和简单的插件API
很多插件...
木魚
10年前 (2014-02-10) 4822℃ 4评论
0喜欢
12306订票助手系列软件之
【12306服务器IP自动切换工具】
================================================================
12306服务器IP自动切换工具,使用基于云端共享的服务器IP列表,并通
过不断检测服务器当前状态,从而实现避免IP被服务器封杀较长时间。
当本机IP被服务器暂时封锁后,10秒钟内程序将会作出反应,并自动查询
下一个速度较快的可用服务器IP,并自动切换,从而避免因IP被封锁导致
订票中断。
================================================================
【更新说明】版本:1.2.0.0,更新日期:2...
木魚
11年前 (2013-05-13) 4648℃ 4评论
1喜欢