把图片读到pictureBox,再写入数据库

SqlConnection conn=new SqlConnection(@"data source=chenyuming2004\VSdotNET;uid=sa;pwd=cym;database=lhf");
conn.Open();
SqlCommand cmd=new SqlCommand("insert into fuser values ('1a','1b',@i)",conn);
byte[] ib=new Byte[60000];
FileStream fs=n
评论(0) 引用(0) 阅读(1882)

移动没有标题的窗体

不指定
2008-6-14 16:37 by:果面 程序开发 本站原创
我们一般是用鼠标按住窗口的标题栏,然后移动窗口,当窗口没有标题栏时,我们可以用下面的方法来移动窗口:

 

在 BAS 文件中声明:

Declare Function ReleaseCapture Lib "user32" () As Long

Declare Function SendMessage Lib "user32" _

Alias "SendMessageA" ( _

ByVal hwnd As Long, ByVal wMsg As Long, _
阅读全文
评论(0) 引用(0) 阅读(1568)

Flv下载地址探测算法

晴
2008-6-1 16:14 by:果面 程序开发 » 思路分析 本站原创
这篇文章里主要介绍FlvDownloader2.0中采用的Flv探测算法。

在前面的文章中已经提到,由于各大flv的网站都对自己的flv地址进行了加密,要获取flv的下载地址并不是很容易。常用的Flv地址探测算法有如下两种:

   1.
      分析网页的html代码和加密算法,得出实际 flv地址
   2.
      通过ie访问原始播放网页,截取httprequest和httpresponse头信息并分析,从而flv实际地址。

第一种方法的优点就是解析速度快,并且可以很容易的分析出相关的flv信息(如分段的flv视频,整个专辑的所有视频地址)。然而这种方式没有什么通用性,并且需要对flash、html。javascript等比较熟悉。分析的过程也比较复杂和费时间。一旦网站的加密算法变化,还需要重新写解析算法。

第二种方法有一定的通用性,并且一般可以直接通过request头的url地址就能判断出flv的地址。网上的大多数flv探测程序都是这种思路。但不足之处在于:

   1.
      一旦对大量网页进行批量解析,解析过程相对慢。
   2.
      如果网页的视频被分割为多个,只能解析到第一个的地址。

flvdownloader的flv地址探测算法综合了这两种方式:

   1.
      首先通过内嵌的隐藏浏览器访问访问网页
   2.
      捕获浏览器访问网页过程中产生的Http请求和应答信息,并分析出flv视频地址。
   3.
      经过上述两个步骤,可以获取第一个flv视频的实际地址,然后根据各网站的特点和第一个flv视频地址分析出被分割的其它的flv视频地址,并对flv网站发出请求验证分析结果。
   4.
      为了方便的捕获http请求和应答,我采用的方法是建立一个代理服务器,浏览器通过代理服务器访问网页,这样代理服务器可以很容易的获取所有http信息。

整个探测过程中包括如下几个角色:

    *
      FlvDetector:     Fvl地址探测者,主要负责发出flv探测请求,并负责分析处理探测结果。
    *
      Explorer:        浏览器,用以访问实际播放网页,产生flv请求。
    *
      HttpProxy:        Http代理服务器,用来截取浏览器的http请求和应答信息,将结果返回给FlvDetector分析。
    *
      FlvServer:        Flv视频网站

具体的流程如下:

   1.
      FlvDetector调用Explorer访问视频所在的网页。
   2.
      Explorer通过代理服务器HttpProxy发起Http请求
   3.
      HttpProxy将Explorer的请求转发给FlvServer
   4.
      FlvServer向HttpProxy发出应答
   5.
      HttpProxy将应答转发给Explorer
   6.
      结果3、4两步后,HttpProxy已经知道Explorer的所有信息,将这些信息发给FlvDetector。
   7.
      FlvDetector分析Http头信息,获取第一个flv视频地址,并根据所访问的视频网站的视频特点分析出其它关联视频,将分析出来的视频地址直接发给Flvserver验证。
   8.
      FlvServer返回验证结果。

经过上述几步后,就已经获取到所有的flv地址了。其中第7步是需要根据不同的网站进行不同的分析的,因为已经获取了第一个视频的地址,只要继续抓一下包分析是很容易获取分割为多段的其它视频地址的。因此第7步的分析过程比直接分析网页代码是要简单的多的,一般直接分析http头信息和对网站抓包分析一下就行了。但由于不同的网站解析算法均不同,因此FlvDownloader中只写了优酷的分析算法。
评论(0) 引用(0) 阅读(2384)
__vbaStrCmp   比较字符串
__vbaStrComp   比较字符串
__vbaStrCopy   复制字符串
__vbaStrMove   移动字符串
__vbaVarTstNe 进行变量比较
__vbaVarTstEq 进行变量比较
rtcMsgBox     显示对话框(有时候超级好用的断点)
VarBstrCmp   比较字符串(Oleaut32.dll)
VarCyCmp     比较字符(Oleaut32.dll)
评论(0) 引用(0) 阅读(2361)
分页: 5/5 第一页 上页 1 2 3 4 5 最后页 [ 显示模式: 摘要 | 列表 ]