爬取网页内容,并将结果发送邮件

之前的时候做过一个抓取网页内容,发送邮件的小项目,但是,之后很长时间没做,再次摸起来很多东西都忘了,所以,这次趁着整理好了,记录一下。

public class test {

    private static DefaultHttpClient client = null;

    public static void loginSSO(String username, String password, String fp) {
        System.out.println("login begin");

        try{
            //登录
            client = new DefaultHttpClient(new PoolingClientConnectionManager());
            HttpGet get = new HttpGet(String.format("http://****/sso/login?username=%s&password=%s&fp=%s", username, URLEncoder.encode(password, "UTF-8"), fp));//fp是我的网站的设备登录号
            HttpResponse response = client.execute(get);
            System.out.println("响应码:" + response.getStatusLine().getStatusCode());

        }
        catch (IOException ioe) {
            ioe.printStackTrace();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("login end");
    }

    public static String pageResult(){

        try {
            HttpGet get = new HttpGet("http://**/dailyStas.json?orgEid=*****&startSubmitTime=2018-04-13&endSubmitTime=2018-04-13");
            HttpResponse response = client.execute(get);

//            System.out.println("回应:" + response2.getStatusLine().getStatusCode());
            HttpEntity entity = response.getEntity();
            String PageResource = EntityUtils.toString(entity);
            System.out.println("PageResource结果:" + PageResource);
            return PageResource;
        }catch(IOException ioe){
            ioe.printStackTrace();
        }
        return "-1";
    }
    public static void sentEmail(String result){
        try {
           /* Properties props = new Properties();
            props.put("smtp.jj.local", "mail.jj.com");
            props.put("mail.smtp.port", 25);
            props.put("mail.smtp.auth", "true");

            Transport transport = null;
            Session session = Session.getDefaultInstance(props, null);
            transport = session.getTransport("smtp");
            transport.connect("smtp.jj.local", "**@jj.com", "密码");
            MimeMessage msg = new MimeMessage(session);
            msg.setSentDate(new Date());
            InternetAddress fromAddress = new InternetAddress("**@jj.com");
            msg.setFrom(fromAddress);
            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("**@jj.com"));
            msg.setText("Email sent test!", "UTF-8");
            msg.setSubject("未填人员名单", "UTF-8");
            msg.saveChanges();
            transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
            System.out.println("邮件发给**");
            transport.close();*/
	//以上是司内代码
			
            /*Properties properties = new Properties();
            properties.put("mail.transport.protocol", "smtp");// 连接协议
            properties.put("mail.smtp.host", "smtp.qq.com");// 主机名
            properties.put("mail.smtp.port", 465);// 端口号
            properties.put("mail.smtp.auth", "true");
            properties.put("mail.smtp.ssl.enable", "true");// 设置是否使用ssl安全连接 ---一般都使用
            properties.put("mail.debug", "true");// 设置是否显示debug信息 true 会在控制台显示相关信息
            // 得到回话对象
            Session session = Session.getInstance(properties);
            // 获取邮件对象
            Message message = new MimeMessage(session);
            // 设置发件人邮箱地址
            message.setFrom(new InternetAddress("***@qq.com"));
            // 设置收件人邮箱地址
            message.setRecipients(Message.RecipientType.TO, new InternetAddress[]{new InternetAddress("***@qq.com")});
            //message.setRecipient(Message.RecipientType.TO, new InternetAddress("xxx@qq.com"));//一个收件人
            // 设置邮件标题
            message.setSubject("***");
            // 设置邮件内容
            message.setText("邮件内容邮件test");
            // 得到邮差对象
            Transport transport = session.getTransport();
            // 连接自己的邮箱账户
            transport.connect("****@qq.com", "***");// 密码为QQ邮箱开通的stmp服务后得到的客户端授权码
            // 发送邮件
            transport.sendMessage(message, message.getAllRecipients());
            System.out.println("邮件发给:***");
            transport.close();*/
	//这是参考的QQ代码

            Properties properties = new Properties();
            properties.put("mail.smtp.host", "smtp.qq.com");// 主机名
            properties.put("mail.smtp.port", 465);// 端口号
            properties.put("mail.smtp.auth", "true");
            properties.put("mail.smtp.ssl.enable", "true");// 设置是否使用ssl安全连接 ---一般都使用
            properties.put("mail.debug", "true");// 设置是否显示debug信息 true 会在控制台显示相关信息

            Transport transport = null;
            Session session = Session.getDefaultInstance(properties, null);
            transport = session.getTransport("smtp");
            //transport.connect("mail.jj.com", "***@jj.com", "****");
            transport.connect("***@qq.com", "你的设备授权码");

            MimeMessage message = new MimeMessage(session);
            message.setSentDate(new Date());
            message.setFrom(new InternetAddress("****@qq.com"));
            message.setRecipients(Message.RecipientType.TO, new InternetAddress[]{new InternetAddress("****@qq.com")});
            message.setText(result,"UTF-8");
            message.setSubject("结果","UTF-8");
            message.saveChanges();

            transport.sendMessage(message, message.getAllRecipients());
            System.out.println("邮件发给:***");
            transport.close();
	//调整后的代码,其实与之前的没差

        }catch(NoSuchProviderException e){
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
    public static void main(String args[]){
        loginSSO("用户名","密码","设备指纹");
        String rs=result();
        sentEmail(rs);
    }
}
这里使用的包是javax.mail1.6,Java是1.8版本的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值