天天看点

新浪Flash下载器 [HttpWebRequest | 新浪视频]

正文

     1.     截图

2.     使用步骤

          2.2     搜索关键字.swf,找到embed标签的src属性,复制连接到软件输入框内。

          2.3     点击开始下载。由于有些文件比较大,下载时间可能超过30秒,但是没有关系,这里采用的异步,你只需要最小化或者点击右上角关闭缩小到右下角再去干自己的事情就行了:)

          2.4     退出软件请点击红色感叹号的图标按钮!

     3.     部分代码

               看过我图片下载器的朋友对这部分代码应该还是比较熟悉了,下载有附带源码。

               代码片段1

                //异步下载文件

                HttpWebRequest hwr = WebRequest.Create(nUrl) as HttpWebRequest;

                hwr.AllowWriteStreamBuffering = false;

                hwr.AllowAutoRedirect = true;

                //hwr.ReadWriteTimeout = 5 * 1000; //默认超时5分钟

                hwr.BeginGetResponse(new AsyncCallback(AsyncDownLoadResult), hwr);

               代码片段2

            WebRequest request = (WebRequest)asyncResult.AsyncState;

            string url = request.RequestUri.ToString();

            try

            {

                WebResponse response = request.EndGetResponse(asyncResult);

                if (response.ContentLength > 0)

                {

                    if (!Directory.Exists(tbSavePath.Text.Trim()))

                        Directory.CreateDirectory(tbSavePath.Text.Trim());

                    using (Stream stream = response.GetResponseStream())

                    {

                        using (FileStream fs = File.Create(Path.Combine(tbSavePath.Text.Trim(), Path.GetFileName(url))))

                        {

                            byte[] bytes = new byte[10240];

                            int n = 1;

                            while (n > 0)

                            {

                                n = stream.Read(bytes, 0, 10240);

                                fs.Write(bytes, 0, n);

                            }

                        }

                    }

                }

            }

            catch (Exception ex)

                MessageBox.Show(ex.Message);

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/586449,如需转载请自行联系原作者

继续阅读