文档章节

c# 获取页面验证码

D
 DailyDiary
发布于 2017/04/06 17:12
字数 171
阅读 15
收藏 0

 HttpWebRequest httpWebRequest = null;
            HttpWebResponse httpWebResponse = null;
            string url = Request URL://请求头
            try
            {
                httpWebRequest = (HttpWebRequest)WebRequest.Create(url);

                httpWebRequest.CookieContainer = new CookieContainer();
                httpWebRequest.CookieContainer = cookie;
                httpWebRequest.ContentType = "text/html; charset=gb2312";
                httpWebRequest.Referer = refer;
                httpWebRequest.Accept = "*/*";
              httpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0";
                httpWebRequest.Method = "GET";
                httpWebRequest.ServicePoint.ConnectionLimit = int.MaxValue;

                httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                Stream responseStream = httpWebResponse.GetResponseStream();

                //将网页获取的流读成string
                StreamReader sr = new StreamReader(responseStream, Encoding.UTF8);
                string strResult = sr.ReadToEnd();
                //MessageBox.Show(strResult);
                //按“断开截取部分流
                string[] strs = strResult.Split(new string[] { "\"" }, StringSplitOptions.RemoveEmptyEntries);
                //string ss = strs[strs.Length - 2];//获取第二段参数
                //MessageBox.Show(ss);

                byte[] byts = Convert.FromBase64String(strs[strs.Length - 2]);//获字符串转为字节流  ***字符与字节的对转(注意编码)
                MemoryStream ms = new MemoryStream(byts);
                Image image = System.Drawing.Image.FromStream(ms);
                Bitmap bitmap = (Bitmap)Image.FromStream(ms);
                ms.Flush();
                sr.Close();
                responseStream.Close();
                this.pictureBox1.Image = bitmap;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

© 著作权归作者所有

共有 人打赏支持
D
粉丝 0
博文 18
码字总数 4127
作品 0
MVC伪一个12306图片验证码

本文的来由主要是满足自己的好奇心,而不是证明什么东西,如果涉及到什么官方性的事情,麻烦通知我谢谢;本篇将要和大家分享的是一个看起来通12306图片验证码相似的效果,这篇应该是今年农历...

神牛步行3
2017/01/17
0
0
求助,C# RSA加密密码,发送到服务器返回密码错误

用C#写一个客户端登录应用,分析登录页面的代码,判断出登录逻辑如下: 1、从 "/login?act=getkey&_=" + (new Date).getTime() 获得公钥和hash值,返回结果像这样: {"hash" : "52c17e7b60a...

EveKovi
2016/02/11
280
1
关于C#验证码和session接受的问题

如上面的截图,这是一个简单的C#验证码。第一个框是生成的验证码图片,第二个框是在页面上用seesion接受的验证码值。两者不一样。 求教出现这样结果不一样的原因。 补充说明:以下为生成代码...

jazm
2014/09/09
701
5
关于微信公众平台模拟登录(无源码)

写于2015年7月7日的话:这个模拟的问题我很久没研究了(2年了),都不知道微信公众号的网站有没有修改过,研究这个我感觉最大的作用就是能主动给关注者发送消息,其它的貌似没什么意思,不如...

天体图
2013/07/25
0
9
C#开发微信门户及应用(14)-在微信菜单中采用重定向获取用户数据

我曾经在系列文章中的《C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍》中介绍了微信菜单里面的重定向操作,通过这个重定向操作,我们可以获取一个code值,然后获取用户的openID,进...

walb呀
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring JdbcTemplate模板模式与回调结合分析

在看Spring的JdbcTemplate的时候,看到其将模板模式和回调模式结合使用的实现,可以精妙的解决很多的问题。详见Spring中涉及的设计模式总结中的关于模板模式和回调模式结合的具分析,本文利用...

宸明
30分钟前
0
0
docker update:更新一个或多个容器的配置

更新容器的配置 docker update:更新一个或多个容器的配置。 具体内容请访问:https://docs.docker.com/engine/reference/commandline/update/#options 语法:docker update [OPTIONS] CONTA...

lwenhao
今天
1
0
unload事件

unload事件不触发的原因分析 1.代码位置不对,应该优先加载,不能放到回调函数中 2.浏览器不支持 3.最可能的原因,unload事件中触发的函数是一个异步执行的函数,浏览器是不允许在窗口关闭之后在...

狮子狗
今天
1
0
DbForge Schema Compare for MySQL入门教程:如何连接到数据库

【dbForge Schema Compare for MySQL下载】 要创建连接: 1. 在“Connection” 工具栏上单击“New Connection”按钮 。 2. 在“Host” 框中输入主机名。 3. 在“Port” 框中输入端口信息。默...

Miss_Hello_World
今天
2
0
spring中事务的应用

spring中事务管理的两种方式 编程式事务使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事务是建立...

狂奔的熊二
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部