winform截取网页邮箱

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public static String GetWebContent(String Url, Encoding encode)
        {
            try
            {
                if (Url.Equals("about:blank")) return null;
                if (!Url.StartsWith("http://") && !Url.StartsWith("https://")) { Url = "http://" + Url; }
                //HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择。
                //它们支持一系列有用的属性。这两个类位 于System.Net命名空间,
                //默认情况下这个类对于控制台程序来说是可访问的。
                //请注意,HttpWebRequest对象不是利用new关键字通过构 造函数来创建的,而是利用工厂机制(factory mechanism)通过Create()方法来创建的。
                HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(Url); //根据获取网址向服务器发送请求:
                myReq.Timeout = 60000;//获取或设置 GetResponse 和 GetRequestStream 方法的超时值(以毫秒为单位)。 (重写 WebRequest.Timeout。)
                myReq.Accept = "Accept-Language:zh-cn";//支持语言
                myReq.KeepAlive = true;//获取或设置一个值,该值指示是否与 Internet 资源建立持久性连接,获取或设置一个值,该值指示是否在导航历史记录中保留 Page 实例
                myReq.Referer = Url;//获取或设置 Referer HTTP 标头的值。
                myReq.MaximumAutomaticRedirections = 100;//获取或设置请求将跟随的重定向的最大数目
                myReq.AllowAutoRedirect = true;//网络响应请求,获取或设置一个值,该值指示请求是否应跟随重定向响应

                HttpWebResponse myres = (HttpWebResponse)myReq.GetResponse();

                Stream WebStream = myres.GetResponseStream();//获取网页字符流,并最终转换为系统默认的字符:
                StreamReader Sreader = new StreamReader(WebStream, encode);
                String HtmlText = Sreader.ReadToEnd();

                Sreader.Close();//关闭字符流:
                WebStream.Close();
                return HtmlText;
            }
            catch (Exception ex)
            {
                MessageBox.Show("获取网站信息错误:" + ex.Message);

                return null;
            }
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            try
            {
                string x = GetWebContent(textBox1.Text, Encoding.UTF8);
                Regex r = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");//正则 

                System.Text.RegularExpressions.MatchCollection mc = r.Matches(x);//表示通过以迭代方式将正则表达式模式应用于输入字符串所找到的成功匹配的集合。
                //该集合为不可变(只读)的,并且没有公共构造函数。 Regex.Matches 方法返回 MatchCollection 对象。
                //集合中包含零个或多个 System.Text.RegularExpressions.Match 对象。
                //如果匹配成功,则将使用在输入字符串中找到的每个匹配对应的一个 System.Text.RegularExpressions.Match 对象来计算集合。
                //如果匹配不成功,则集合不包含 System.Text.RegularExpressions.Match 对象,其 Count 属性等于 0。

                for (int i = 0; i < mc.Count; i++)
                {
                    if (mc.Count == 0)
                    {
                        textBox2.Text = "未查询到符合邮箱地址的信息。";
                    }
                    else
                    {
                        textBox2.Text += mc[i].Value + "\r\n";
                    }
                }
            }
            catch (Exception)
            {

            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            string x = GetWebContent(textBox1.Text, Encoding.UTF8);
            textBox2.Text = x;
        }
    }
}
时间: 2024-10-07 01:54:12

winform截取网页邮箱的相关文章

能登录163网页邮箱但不能创建或登录foxmail问题的解决

原因是网页端设置中启用了"客户端授权密码",此规则要求:登录163网页邮箱和foxmail的密码不能相同.在网页端设置中取消该选项或重置授权码,则问题解决!

网页邮箱收件箱被清空

春节前邮件系统收件箱有很多邮件,节后登录网页邮箱发现收件箱被清空无一封邮件. 客户配置了outlook,查看outlook配置 将在服务器上保留邮件的副本去除后即可.已删除邮件未找回.如有方法找回请大神告知.

1、Java截取网页形成图片

1.闲扯 有一个GUI编程的开源框架叫SWT(Standard Widget Toolkit),它与sun公司的AWT.Swing类似.非界面编程人员,这里就不扯它们的优缺点了. 或许很多人都没听说过SWT,但是如果说出由它制作出来的一个工具,大家可能会对它肃然起敬.这个工具就是IBM开发的Eclipse.于是我们如果要给Eclipse开发插件,那么就得对SWT非常了解了. 2.要求 要截取网页形成图片,需要1-2要求.这里的1是要配置java.libarary.path;2是需要两个jar包.

C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)

其原理是,利用winfrom模拟表单提交数据,将要提交的参数提交给网页,网页执行代码,得到数据,然后Winform程序将网页的所有源代码读取下来,这样就达到windows应用程序和web应用程序之间传参和现实数据的效果了. - 首先创建一个windows应用程序和web应用程序. - 在web应用程序中,将网页切换到源代码并把源代码中一些没用的代码删掉,只保留头部,在windows应用程序读取网页源码时,这些都会被一起读下来,但这些都是没用的数据,而且删掉没什么影响.需要保留的代码如下: - <

如何利用Win10Edge浏览器来截取网页长图?

有时我们在工作演示时会需要截取网页上的图片,不过简单的截图可以,但如果需要截取超过屏幕大小的整个网页,你是不是就有些束手无策了.虽然拼接图片也是种方法,但毕竟还是不方便,下面好系统重装助手就教你在Win10系统中如何截取网页长图. Win10系统截取网页长图的方法 工欲善其事必先利其器,有了工具,我们就可以顺利完成网页长图的截取.这个工具就是Win10系统自带的Edge浏览器.1.打开Edge浏览器,在右上方找到并点击"添加笔记"功能键.2.在笔记功能区内,找到并点击"剪辑&

爬虫-使用模拟浏览器操作(截取网页)

最近遇到一个问题就是,如何模拟真实浏览器行为然后截取显示的网页. 方案 模拟登陆网站或者直接使用cookie登陆. 对指定页面按钮进行点击刷新页面,截取网页. 我们使用selenium库来操作浏览器驱动,即执行浏览器相应的驱动命令,实现相应的浏览器操作. 准备工作 selenium库 浏览器自动化测试框架,其作用是通过操作浏览器驱动来控制浏览器行为,达到模拟真实用户操作浏览器的效果.原理为自动化测试python脚本-->浏览器driver -->浏览器.官网 python中文文档 python

CentOS7下python3 selenium3 使用Chrome的无头浏览器 截取网页全屏图片

前言 selenium是一个模拟浏览器的自动化执行框架,但是如果每次执行都要打开浏览器来处理任务的话,效率上都不高.最重要的是如果安装在Centos7服务器环境下,打开浏览器来模拟操作是更加不合适的,尤其是碰上需要截取网页图片这样的需求. 这时候就要考虑使用Chrome的无头浏览器模式了.所谓的无头浏览器模式也就是不需要打开浏览器,但是却可以起到模拟打开浏览器的执行效果,一切无界面执行. 下面来看看如果安装部署到执行. 1.安装chrome 1.1 添加google的repo源 vim /etc

解决 winform打开网页 和WebBrowser打开链接360误报拦截的问题

以下方法我已经在自己电脑上验证通过,其他电脑并未测试,请广大读者自行验证并反馈,如果有更好的方法请指教. 在winform中如果使用这种方法弹出网页,例如这样 Process.start("http://www.xgjxc.top"); 或者另外如果winform中嵌入了一个webbrowser控件,加载了一个网页,例如这样 this.webBrowser1.Navigate("http://www.xgjxc.top/home.html“); 网页中有个超链接,例如这样 &

用正则表达式去截取网页里文字的方法。参数为读取的网页源代码

//抓取文字方法,参数为网页源代码 public string ExtractText(string strHtml) { string result = strHtml; result = RemoveComment(result); //调用去掉注释等方法 result = RemoveScript(result); //调用去除js 方法 result = RemoveStyle(result); //调用去除样式表方法 result = RemoveTags(result); //调用去