问题背景:闲来无事网上乱逛。一不小心就逛到了VC驿站,手贱啊!还是禁不住点了进去!虽然现在学习C#不想去看C++了,还是手贱点了进去。作为资源控的我,看到了一篇资源贴:
=========================================================================================================
棉猴老师套接字编程【全部免key】 尽快下载,晚了就关共享了
http://www.t00y.com/file/11381890 ;    第5-4次课 基于WSAEventSelect模型的五子棋程序2.rar
http://www.t00y.com/file/11381892 ;    第5-5次课 基于WSAEventSelect模型的五子棋程序3.rar
http://www.t00y.com/file/11381893 ;    第5-6次课 基于WSAEventSelect模型的五子棋程序4.rar
http://www.t00y.com/file/11381895 ;    第6-1次课 套接字重叠IO模型基础1.rar
http://www.t00y.com/file/11381898 ;    第6-2次课 套接字重叠IO模型基础2.rar
http://www.t00y.com/file/11381972 ;    第6-3次课 套接字重叠IO模型基础3.rar
http://www.t00y.com/file/11382000 ;    第6-4次课 网络词典代码分析1.rar
http://www.t00y.com/file/11382002 ;    第6-5次课 网络词典代码分析2.rar
http://www.t00y.com/file/11382053 ;    第6-6次课 网络词典代码分析3.rar
http://www.t00y.com/file/11382080 ;    第6-7次课 网络词典代码分析4.rar
http://www.t00y.com/file/11382083 ;    第7-1次课 完成端口模型基础1.rar
http://www.t00y.com/file/11382085 ;    第7-2次课 完成端口模型基础2.rar
http://www.t00y.com/file/11382086 ;    第7-3次课 基于完成端口模型学生考试系统1.rar
http://www.t00y.com/file/11382090 ;    第7-4次课 基于完成端口模型学生考试系统2.rar
http://www.t00y.com/file/11382093 ;    第7-5次课 基于完成端口模型学生考试系统3.rar
http://www.t00y.com/file/11381760 ;    第2-2次课 利用非阻塞套接字实现数据的发送和接收.rar
http://www.t00y.com/file/11381763 ;    第2-3次课 远程算数运算程序解析1.rar
http://www.t00y.com/file/11381765 ;    第2-4次课 远程算数运算程序解析2.rar
http://www.t00y.com/file/11381768 ;    第2-5次课 远程算数运算程序解析3.rar
http://www.t00y.com/file/11381770 ;    第3-1次课 Select模型开发.rar
http://www.t00y.com/file/11381772 ;    第3-2次课 简单select模型.rar
http://www.t00y.com/file/11381775 ;    第3-3次课 简单select模型2.rar
http://www.t00y.com/file/11381777 ;    第3-4次课 基于select模型的远程文件下载1.rar
http://www.t00y.com/file/11381842 ;    第3-5次课 基于select模型的远程文件下载2.rar
http://www.t00y.com/file/11381879 ;    第3-6次课 基于select模型的远程文件下载3.rar
http://www.t00y.com/file/11381880 ;    第4-1次课 WSAAsyncselect模型开发.rar
http://www.t00y.com/file/11381881 ;    第4-2次课 窗口例程对消息的处理.rar
http://www.t00y.com/file/11381882 ;    第4-3次课 WSAAsyncSelect模型小结.rar
http://www.t00y.com/file/11381886 ;    第5-2次课 WSAEventSelect模型基础2.rar
http://www.t00y.com/file/11381888 ;    第5-3次课 基于WSAEventSelect模型的五子棋程序1.rar
http://www.t00y.com/file/11381741 ;    select模型远程文件下载代码.rar
http://www.t00y.com/file/11381743 ;    第1-1次课 套接字基本函数1.rar
http://www.t00y.com/file/11381746 ;    第1-2次课 套接字基本函数2.rar
http://www.t00y.com/file/11381747 ;    第1-3次课 阻塞方式服务端编程1.rar
http://www.t00y.com/file/11381749 ;    第1-4次课 阻塞方式服务端编程2.rar
http://www.t00y.com/file/11381751 ;    第1-5次课 阻塞方式客户端编程1.rar
http://www.t00y.com/file/11381755 ;    第1-6次课 阻塞方式客户端编程2.rar
http://www.t00y.com/file/11381757 ;    第1-7次课 套接字阻塞方式大数据传输.rar
http://www.t00y.com/file/11381759 ;    第2-1次课 套接字非阻塞方式.rar
=========================================================================================================
 尼玛这是要逆天啊!这么XX多!Shit!Oh My God!点了一个进去,资源发布在一个叫城通网盘的网站上。

且不说难以忍受的广告。这种页面跳转的风格就让人不爽。我实在难以忍受,决定来次数据的较量!用程序实现自动分析文件资源地址的功能。先看看实现的效果吧:

只需要输入文件ID,例如:http://www.t00y.com/file/11381743就只需要输入11381743,输入正确的验证码。就能获取资源文件的迅雷下载地址了。如果在加个批量分析导入文件ID,批量导出下载地址的功能使用起来就会更加方便。
下面简单说一下程序实现的关键点:
1.验证码Session ID的处理。
  验证码地址:http://www.ctdisk.com/guest_loginV2.php。每次对验证码请求时,服务端都会产生一个Session来记录正确的验证码。并且会返回一个Session ID储存在客户端的Cookie中。提交数据时会根据提交的Cookie中的Session ID去找到相应的Session进行验证码的比对。
使用WebClient取得Cookie的方法。请求返回后利用string cookie=wc.ResponseHeaders.Get("Set-Cookie")从返回http头文件的Set-Cookie行取得Cookie的值。提交数据时只需使用wc.Headers.Add("Cookie:" + cookie);向请求头中添加请求验证码返回的Cookie就Ok了。
2.验证码显示在winform窗体上。
  WebClient常用的请求资源的方法有DownLoadFile,DownLoadData,DownLoadString。DownLoadFile,DownLoadData都能实现把验证码图片显示到winform中。在这里我选择用 DownLoadData获取验证码图片的byte[]数据流的方式。

1             WebClient wc = new WebClient();
2             Uri url = new Uri("http://www.ctdisk.com/randcodeV2.php");
3              //获取验证码图片byte[]数据流
4             var codedata = wc.DownloadData(url);
5             //通过byte[]数组创建内存流
6             MemoryStream ms = new MemoryStream(codedata);
7           //通过内存流创建图片。并把图片显示到pictureBox上
8             pictureBox1.Image = Image.FromStream(ms); 

下面是完整代码。

View Code

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.IO;
 7 using System.Linq;
 8 using System.Net;
 9 using System.Text;
10 using System.Text.RegularExpressions;
11 using System.Threading.Tasks;
12 using System.Windows.Forms;
13
14 namespace DownLoader
15 {
16     public partial class Form1 : Form
17     {
18         public Form1()
19         {
20             InitializeComponent();
21         }
22         string cookie = null;
23         private void btnGetCode_Click(object sender, EventArgs e)
24         {
25             WebClient wc = new WebClient();
26             Uri url = new Uri("http://www.ctdisk.com/randcodeV2.php");
27             //获取验证码图片byte[]数据
28             var codedata = wc.DownloadData(url);
29             //转换成内存流
30             MemoryStream ms = new MemoryStream(codedata);
31             //通过内存流创建图片并显示到PictureBox上
32             pictureBox1.Image = Image.FromStream(ms);
33             //从WebClient的ResponseHeaders中获取验证码Session ID的Cookie
34             cookie = wc.ResponseHeaders.Get("Set-Cookie");
35         }
36
37         private void btnGetSource_Click(object sender, EventArgs e)
38         {
39             WebClient wc = new WebClient();
40             wc.Encoding = Encoding.UTF8;
41             Uri surl = new Uri("http://www.ctdisk.com/file/"+txtFileId.Text.Trim());
42             string html = wc.DownloadString(surl);
43             //先获取资源文件的hash_id,这个在验证时也会使用。hash_id与文件不对应,居然报的是验证码错误!呵呵!
44             string hash_id = Regex.Match(html,@"<input type=""hidden"" id=""hash_id"" name=""hash_id"" value=""(.+)""/>").Groups[1].Value;
45             Uri url = new Uri("http://www.ctdisk.com/guest_loginV2.php");
46             //Post提交数据必须的头
47             wc.Headers.Add("Content-Type: application/x-www-form-urlencoded");
48             wc.Headers.Add("Cookie:" + cookie);
49             //Post提交的数据
50             string poststr =
51                 String.Format(
52                 "file_id={0}&hash_id={1}&randcode={2}&Comfirm.x=153&Comfirm.y=20",
53                 txtFileId.Text.Trim(),hash_id, txtCode.Text.Trim());
54             //把Post提交数据转换成byte[]
55             byte[] postdata = Encoding.UTF8.GetBytes(poststr);
56             //Post提交数据并取得返回结果
57             string strhtml = Encoding.UTF8.GetString(wc.UploadData(url, "POST", postdata));
58             //对返回的数据进行处理
59             if (strhtml.Contains("验证码输入错误"))
60             {
61                 txtMsg.Text = "验证码错误或已失效!请从新输入!";
62                 this.btnGetCode_Click(sender,e);
63             }
64             else
65             {
66                 //正则匹配出资源文件下载地址
67                 Match m = Regex.Match(strhtml, @"thunderHref=""(thunder://.+)""");
68                 if (m.Length!=0)
69                 {
70                     txtMsg.Text = m.Groups[1].Value;
71                 }
72                 else
73                 {
74                     txtMsg.Text = "获取资源地址出错!请稍后重试!\r\n"+strhtml;
75                 }
76             }
77         }
78     }
79 }


源代码下载地址:http://pan.baidu.com/share/link?shareid=299472&uk=3540016023

转载于:https://www.cnblogs.com/qinao/archive/2013/02/08/2909270.html

城通网盘文件地址分析器相关推荐

  1. 网盘修复版新增qq支付仿城通网盘115网盘源码下载

    网盘修复版新增qq支付仿城通网盘115网盘源码下载这套源码出现的时机,其实挺巧妙的.因为就在今天我还在二开它,谁知道就有朋友放出来了,虽然二开的方向不对.不过还是在这里描述一下吧.本套源码,是需要用户 ...

  2. 【独家正版】最新网盘源码-城通网盘仿蓝奏云修复版源码 完整测试可用无BUG 有问题全额退

    源码介绍 还是我们熟悉的城通网盘,网上流传的都是邮箱有bug的,咱这一套肯定是修复了!支持对接阿里OSS/腾讯COS,自定义对接支付系统!前台首页/下载页和蓝奏相似率90%! 源码压缩包里有安装详细教 ...

  3. 仿蓝奏网盘/城通网盘/百度网盘/闪客网盘/网盘赚钱系统源码

    源码介绍 注意:此源码后台对接第三方支付平台,实测支付平台已经倒闭无法使用了,如果需要自己对接支付接口需要去找做php开发修改的技术付费操作支付接口!如果对此有介意的请勿下载研究学习!!! 本系统目标 ...

  4. 免费高速图床————学习通网盘

    简介 对于大学生来说,学习通肯定不陌生吧,大家肯定受过他的不少折磨,不过今天我要一改常态的向大家安利这款软件,因为他可以作极佳的网络图床. 如果是小白就先看看图床的定义吧:图床专门用来存放图片,同时允 ...

  5. 2019最新版本的PanDownload纯净版,网盘满速下载和搜索神器,追剧和动漫新番必不可少的下载工具【亲测有效】

    PanDownload是百度网盘的第三方下载神器,它支持快速搜索功能,快速找到你想要的东西,还支持满速下载,可谓是不可多得的下载神器. 下载地址:http://t.cn/EobUOTS 城通网盘下载地 ...

  6. 如何打造一个可躺赚的网盘项目,每天只需要2小时

    推荐阅读1:[创业粉引流变现项目] 推荐阅读2:[IT互联网如何网赚引流] 推荐阅读3:[IT互联网创业项目教程] 今天给小伙伴们分享一个可持续时间长,可积累性的网赚项目--网赚网盘项目. 网盘作为当 ...

  7. 网盘副业项目,睡后躺赚,日入200+

    做副业项目,是选短期项目还是选长期项目呢? 当然是选有积累的长期项目. 今天,浩哥要给大家分享的这个副业项目,就是一个长期项目. 这个副业项目就是网盘项目. 对于网盘来说,大家都很熟悉吧,平时储存图片 ...

  8. 安卓网页自动填充_敏感插件限时显示提供!自动填写网盘提取码,且用且珍惜...

    自动填写提取码,且用且珍惜 不知道,大家有没有遇到过这种情况,只知道资源的百度网盘的链接,却不知道提取码,这种感觉太难受了,就像是,资源就在你面前,但就是无法得到它 所以,安装一个自动填写提取码的插件 ...

  9. WebDAV是什么,有哪些支持webdav的网盘和工具?

    什么是 WebDAV 呢? 简单来说,webdav就像一个存储服务,各种应用都可以连接到它,允许应用直接访问我们的云盘内容,对其进行读写操作.我们可以网络服务比作一只章鱼,云盘是它的大脑,WebDAV ...

  10. 2020你还在烦恼网络硬盘选择吗?分享50个免费的云盘网盘服务——拥有无限储存空间

    随着互联网的技术发展,免费网盘如雨后春笋般发展起来,带给广大用户的便利性无需多言,有一部分人选择了自己搭建,有兴趣的朋友可以参看下方的前情提要,而本篇文章是盘点一下那些提供免费网盘服务的站点介绍,分享 ...

最新文章

  1. the folder is already a source folder.
  2. Java虚拟机参数设置(转)
  3. 《linux就该这么学》第七节课:文件的各种权限以及linux分区命名规则
  4. python入门_老男孩_集合_元祖
  5. Java当中TreeMap用法
  6. 教徒计划出品:升级vCenter41到vCenter5
  7. 从零开始拿到了Kaggle竞赛冠军
  8. CXF(2.7.10) - A simple JAX-WS service
  9. xampp 配置虚拟主机
  10. 3-6Tensor的属性稀疏的变量的编程
  11. 井字棋小游戏c语言简单编码,C语言实现井字棋小游戏
  12. Luogu2467 SDOI2010 地精部落 DP
  13. and or not 优先级_EXCEL函数与公式剖析:AND
  14. 暗时间--BY刘未鹏
  15. AliDDNS 阿里云动态域名服务 实用工具
  16. 桌面计算机地址栏在哪,我的电脑地址栏不见了怎么办 地址栏不见了如何解决...
  17. 再现隐私之争_反谷歌FLoC联盟: selenium谷歌浏览器报错: Error with Permissions-Policy header
  18. 大数据小项目之电视收视率企业项目11
  19. 有哪些值得长期坚持下去的好习惯?
  20. JavaScript弹性透明的图片放大代码

热门文章

  1. java ssm框架项目_3个SSM框架应用实例教程
  2. 联想笔记本连不上手机热点_联想笔记本连不上无线_联想笔记本连不上热点
  3. 全局钩子原理以及操作流程
  4. excel画风玫瑰图_教大家Excel如何绘制线性玫瑰图
  5. 【今晚群分享预告】 58集团监控系统实践
  6. 码率 码字(数字通信系统 信息论)
  7. 美通企业日报 | 英国名校哈罗落户深圳;绿叶与克利夫兰医学中心在沪打造未来医院...
  8. python pandas数据分析基础入门2——(数据格式转换、排序、统计、数据透视表)...
  9. 河南2002年计算机比赛,河南省体育局竞技体育管理信息系统(TYMIS2003)
  10. HoloWAN网络仿真损伤仪的基本功能及图解