控制台版本,winform更简单


static string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)+"/";

[STAThread]
static void Main( string[ ] args )
{
//注册事件
    webBrowser.DocumentCompleted += WebBrowser_DocumentCompleted;

   webBrowser.Navigate( "https://helloareyouok.lanzous.com/i94vape" );

    Application.Run( );   
}

//事件调用
private static void WebBrowser_DocumentCompleted( object sender , WebBrowserDocumentCompletedEventArgs e )
{
    try
    {
MessageBox.Show( "加载成功" );

        WebBrowser webBrowser = (WebBrowser)sender;
        var 文件名 = webBrowser.Document.Title.Replace(" - 蓝奏云", "");
       
        // /html/body/div[2]/a
        HtmlElement a = webBrowser.Document.Window.Frames[0].Document.GetElementsByTagName("div")[1].FirstChild;
        //foreach( HtmlWindow item in webBrowser.Document.Window.Frames )
        //{
        //    var go = item.Document.GetElementById("go");
        //    a = go.FirstChild ?? null;
        //}
        var href = a.GetAttribute("href");
        MessageBox.Show( href );

        httpWebRequest = HttpWebRequest.CreateHttp( href );
      
        httpWebRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";

        var uri=httpWebRequest.GetResponse().ResponseUri.ToString();

        Console.WriteLine( 文件名 );
        Console.WriteLine( uri );

        if( File.Exists( desktopPath + 文件名 ) )
        {
            File.Delete( desktopPath + 文件名 );
        }
        new WebClient().DownloadFile( uri , desktopPath + 文件名 );

    }
    finally
    {
        webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted;
    }
}
 

c#下载蓝奏云链接文件的更多相关文章

  1. stars-one原创工具——蓝奏云批量下载工具

    一款可以批量下载蓝奏云分享的文件夹下的所有文件 基于HtmlUnit和okhttp开源库,所以打包后的jar包文件有点大 蓝奏云下载地址 github地址 需求 之前找电子书资源的时候,网友分享的蓝奏 ...

  2. 蓝奏云数值验证码识别,python调用虹鱼图灵识别插件,超高正确率

    识别验证码一直是本人想要做的事情,一直在接触按键精灵,了解到有一个虹鱼图灵识别插件专门做验证码和图像识别,原理就是图片处理和制作字库识别,制作字库我一直觉得很麻烦,工程量太大.不管怎样,它能用能达到我 ...

  3. 《算法图解》全本PDF下载附百度云链接

    作者使用Python和图画来解释算法,找了好久才找到PDF版本,末尾附百度云链接~ 作者[美]Aditya Bhargava 译者袁国忠 类别 出版 / 非虚构 出版社人民邮电出版社 / 2017-0 ...

  4. 蓝奏网盘CMD控制台

    LanZouCloud-CMD 2.0 基于蓝奏云API开发的CMD版蓝奏云控制台 Github : https://github.com/zaxtyson/LanZouCloud-CMD 更新说明 ...

  5. 蓝奏网盘API

    蓝奏云网盘API 2.0 基于Python3实现,最强的蓝奏云API~ 蓝奏云注册 更新说明 修复了登录时 formhash 错误的问题 解决了多次上传大文件被限制的问题 #3 细化 API 接口的功 ...

  6. redisTemplate实现轻量级消息队列, 异步处理excel并实现腾讯云cos文件上传下载

    背景 公司项目有个需求, 前端上传excel文件, 后端读取数据.处理数据.返回错误数据, 最简单的方式同步处理, 客户端上传文件后一直阻塞等待响应, 但用户体验无疑很差, 处理数据可能十分耗时, 没 ...

  7. 纯前端下载pdf链接文件,而不是打开预览的解决方案

    纯前端下载pdf链接文件,而不是打开预览的解决方案 一,介绍与需求 1.1,介绍 XMLHttpRequest 用于在后台与服务器交换数据.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行 ...

  8. 疫情下的在线上课方案:QQ直播+蓝墨云班课

    目录 疫情下的在线上课方案:QQ群视频(腾讯课堂)+蓝墨云班课 使用QQ进行直播 材料 QQ直播步骤 其他问题 使用蓝墨云班课加强学习效果 教材问题 我的直播-小学生硬笔书法基础 我的直播 - C程序 ...

  9. 构建基于阿里云OSS文件上传服务

    转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50710132 <构建基于阿里云OSS文件上传服务> <构建基于OS ...

  10. 补交20145226蓝墨云班课 -- MyOD

    蓝墨云班课 -- MyOD.java 具体描述: 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能. 提交测试代码和运行结果截图,加上学号水印,提 ...

随机推荐

  1. easypoi多sheet导出

    以前一直接触的是单sheet导出,这次的需求换成了多sheet导出,算是一个难点所以得记录一下 底层关键的代码就是: private static void defaultExport(List< ...

  2. Hibernate的工作流程

  3. java8 升级 17 兼容测试 emt4j

    测试兼容性的,emt4j 在readme 里 download 节目,点击下载 https://github.com/adoptium/emt4j /root/emt4j-0.3/bin/analys ...

  4. 在Vue中实现app拍照-选取本地图库-图片上传成功后预览

    基于Vue和uni-app实现手机app的功能实现和打包.拍照功能和选取本地图片使用的是HTML5的API 实现. 我为测试这个功能使用node写了个本地服务器,对于手机调试,可以通过连接同一个无线网 ...

  5. C++实现线性表-顺序表的合并操作代码

    #include<iostream>#include<cstdlib>//C++动态分配存储空间using namespace std;#define OK 1#define ...

  6. ubuntu 20.04 基于kubeadm部署kubernetes 1.22.4集群—报错解决

    一.添加node节点,报错1 注:可以提前在各node节点上修改好(无报错无需执行此项) yang@node2:~$ sudo kubeadm join 192.168.1.101:6443 --to ...

  7. alertmanger告警配置

    钉钉告警: 需先安装 Ding talk 配置 webhook vim docker-compose.yaml webhook-dingtalk: image: timonwong/prometheu ...

  8. python import导入失败 相对路径 绝对路径

    首先我们有这样一个目录结构 经过我无数次的调试,我发现从test3调用spider以及downloadss文件可以直接import调用 但是从外部的app.py文件调用,spider.py文件死活调用 ...

  9. FFmpeg input与output 函数流程

    重要结构体 AVFormatContext AVCodecContextAVCodecAVPacketAVFrame 0.公共部分 av_register_all(); avfilter_regist ...

  10. 网络编程之 urllib 模块

    首先urlib并不是一个很好用的方法,这里仅作简单介绍.一般我们用requests方法来代替urlib方法. 1. get请求 1 from urllib import request 2 url = ...