本帖最后由 cload 于 2015-12-13 20:44 编辑
C#代码生成器 一、工具是什么? 各位坛友好,现在向大家介绍的这款小工具由本人业余时间开发,方便快速生成代码,减轻码农工作强度(本人也较懒),能让大家在短时间内掌握使用方法,并快速生成(开发)出GET、POST操作类程序的实用工具。 工具生成的代码以苏飞免费HttpHelper框架为基础,融合自己在使用过程中总结出的少许经验,适当加以改写,以利于更加适合特定(GET、POST)目的,同时也增加了部分个人编写的实用函数。具体细节请仔细阅读下文。 二、工具有什么用? 之所以向大家推荐,因个人感觉本工具有较强的简便、快捷等实用性,尽管是本人出于偷懒目的而写的,但确有值得推荐之处: 1.直接利用抓包数据生成工程文件,免去手工东拼西凑之苦(浪费时间)。 2.生成的工程中具备完整的HttpHelper.cs类(在苏飞类的基础上适当加以改写)。 3.具有Utilities.cs实用函数类,有网络收集和本人自编的实用函数(谁用谁知道J)。 4.自动在界面上添加了文本框(如用户名、密码框、验证码框)、图片框、button按钮等基本常用控件。 5.根据粘贴的数据自动生成可执行的代码。当然,一些变量部分仍需要手工调整。 三、为什么推荐给新手用? 我09年开始业余学习VB6.0,13年加入本论坛,接触了站长的HttpHelper类,深感其应用便捷、功能强大,喜欢并断断续续地学习了其中针对发包部分的功能。截止目前,仍远未掌握站长类功能的十之其一。 网络编程这条路,总是经历从一无所知、小有感悟、逐步成熟、长成大牛(幸运且有天赋的话)等不同阶段。尽管本类功能强大,且站长也在论坛中全天候进行了详细、耐心且不厌其烦地回复、讲解,但对于刚入码农行列、初识本类的新手坛友们来说,仍有如看天书,无从下手的感觉。特别是针对收发包这块(因为我只对发包感兴趣,所以关注重点也在于此),不知怎样才能写出自己的第一个程序。可以说,本工具的出现,新手朋友们有福了,学会本工具的使用,对于培养兴趣、提升信心有很大的促进作用,它可以让您快速生成属于自己的工程,源码也有助于您快速掌握类的使用。 我总认为,先知其然(亲手实现期望的功能),然后再去知其所以然(掌握深层次原理),或许不失为一条编程道路上的有效捷径。 对于我个人来说,编程只是业余爱好,并无深厚——哪怕是最基本的理论知识,所以站在新手的角度,强烈推荐本工具(呵呵,请各位大牛轻拍)。 四、工具有什么特点? 1.支持自动跳转,无需人工干涉,跳转过程中的Cookie自动带出,最终跳转链接传出。 完美解决类似多重跳转,无论一次过程跳转多少次,您只要操作第一个发起跳转主链接即可,大量节约代码量。 2.支持Cookie自动更新,name名相同的value总是被后出现的自动更新,免除您重写代码的辛苦。 3.其它或许还有,等待您的发现或建议。 五、工具是否免费? 这是当然的,不用怀疑。至于为什么,还是因为我只是业余爱好者,独乐乐,不如众乐乐……既然我从站长的论坛和群中学到了一些东西,也向站长学习,享受分享的喜悦。 六、工具怎么用? 其实本工具的使用我尽量做成“傻瓜”方式。但尽管如此,使用的话还是需要仔细熟悉下的。下面是基本说明: 1.复制抓包的什么数据(根据几种较流行的工具介绍): (1)HttpWatch包: 上图为普通http(s)数据包。 上图为含有上传数据的包。
(2)HTTPAnalyzer包: (3)Fiddler包: (4)IE或FireFox包: 受本人使用过的抓包工具所限,目前我只对上述几中类型工具的包进行了处理。或许因为工具版本不同,数据有所区别,但基本原理是相似的。 2.使用细节介绍: 请严格按照上述图片中的文字介绍,按对应的抓包工具复制数据。否则,工具不会自作主张地帮您生成什么东西,我想大部分情况是用不同形式的罢工来表示抗议。 A.当您粘贴进验证码的数据时: 请复制图示链接对应的Stream下面的所有数据。 链接是http开头的: 在生成工程选项卡图示大致位置右键,选择第一个,粘贴……粘贴后如下图: 我们知道,这个是验证码的链接,所以要告诉工具一下: 这时,工具会知道,数据中存在验证码,且在第一个数据包位置(因为我们只复制了一个数据包)。假如已经复制了多个数据包,则可以按以下方式选择验证码所在的位置: 我们共粘贴进去了4个数据包,而验证码是第4个数据包,所以勾选后,选择“第四数据包”。 以上是http包,https同样操作。当然,究竟是什么协议,要严格按抓包来确定。 B.当您粘贴进图片上传的数据时: 图片上传的数据是二进制流,所以看到的东西是乱码,可以不理会它,按以上介绍的方法把数据复制后,选择正确的协议格式,粘贴至工具,出现以下效果: 工具自动判断出有上传请求,编码格式默认为Default,具体是什么,要从抓包中查看了。 上面这个功能,可以轻松解决上传类需求。 3.其它基本操作很简单,看看就会了。工程版本因为我只用过2008和2010,所以只有这两个选项,假如您使用的版本较高,工程生成打开后会自动转换的,无需关心它。 界面中还有JS调试、编解码和其它操作,但只有JS调试有功能,其它功能暂缺,有机会再增加吧。 JS调试目前仅有简单功能,很基础,想用的朋友们自己琢磨着用下,打字太累了,有时间我再介绍吧。 本工具由VB6.0编写,因为我只是业余爱好者,所以更新很慢,但我一直在努力更新……感谢使用过本工具并给我提出建议者,基于使用者的建议,我也会努力进行更新。 PS:站长的HttpHelper类功能的确非常强大,我当初(2013-10-02注册苏飞论坛,开始接触)学习C#的时候就是从站长的类开始的。因为个人爱好原因,仅对GET、POST比较感兴趣,因此对站长的类进行了针对性取舍。当然,生成的代码中我一直保留着站长的版权信息。 推荐大家仍以苏飞的类为基础,定能满足您的编程需求!信苏飞,长水平! 截至目前,本工具仍只是雏形……有大家的支持,我希望能写出更加实用的工具回馈论坛。 基于测试的目的,全程未加防错处理,请谅。也请大家在使用过程中发现BUG或需要增加什么实用功能,加群132252403交流反馈,谢谢。 不想加群获取帮助或提出建议的,也可以直接拿工具走人,反正免费给大家使用,我无权提出强制要求。 最新版本只会在群中及时发布。 |