吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3688|回复: 10
收起左侧

[Java 转载] JFrame制作百度链接推送工具 2.0【源码】

[复制链接]
BobCoder 发表于 2017-10-9 22:03
本帖最后由 阿宁宽带刷钻 于 2017-10-10 11:44 编辑

   最近看到有些人再找百度主动推送的工具,今天闲来无事就自己动手用JFrame做了一个。
   由于才自学JFrame没多久,所以界面做的比较简洁,但是功能还是没问题的。有兴趣的小伙伴可以自己研究一下,
   本来想添加一些正则表达式的,但是觉得太麻烦了,就没加进去,希望大家别介意。

先上点代码:
【页面组件】


[Java] 纯文本查看 复制代码
private JLabel jl1;
    private JLabel jl2;
    private JLabel jl3;
    
    private JPanel jp1;
    private JPanel jp2;
    private JPanel jp3;
    private JPanel jp4;
    private JPanel jp5;
    private JPanel jp6;
    
    private JButton jb1;
    private JButton jb2;
    
    JTextField transverse;  
    private JTextArea jt;
    private JScrollPane js;
    
public IndexJFrame() throws URISyntaxException, IOException {
 Container container=getContentPane();//创建一个容器
 transverse = new JTextField(28);
 transverse.setBounds(378, 202, 173, 30);
 transverse.setFont(MyFont.Static);
 transverse.addFocusListener(this);
 transverse.setText("请输入推送接口");
     
 jt=new JTextArea(15,28);//创建文本域组件
 jt.setFont(MyFont.Static);
 jt.addFocusListener(this);
     jt.setText("请输入推送链接");
 
         jl1=new JLabel("推送接口:",JLabel.LEFT);
         jl2=new JLabel("推送链接:",JLabel.LEFT);
         jl3=new JLabel("每个链接一行,注意换行,格式整齐!",JLabel.LEFT);
         jl3.setForeground(Color.red);
      
         Dimension preferredSize = new Dimension(75,35);//设置尺寸
         
         jb1=new JButton("提交");
         jb1.setPreferredSize(preferredSize);
         jb1.addMouseListener(this);
         
         jb2=new JButton("重置");
         jb2.setPreferredSize(preferredSize);
         jb2.addMouseListener(this);
        
        
        jp1=new JPanel();
        jp1.setBorder(new EmptyBorder(5, 10, 0, 10)); // 设置边距
        jp1.add(jl1);
        container.add(jp1);
 
        jp5=new JPanel();
        jp5.setBorder(new EmptyBorder(5, 10, 0, 10)); // 设置边距
        jp5.add(transverse);
        container.add(jp5);
        
        jp2=new JPanel();
        jp2.setBorder(new EmptyBorder(5, 10, 0, 10)); // 设置边距
        jp2.add(jl2);
        container.add(jp2);
        
        js=new JScrollPane(jt);//创建JScrollPane面板对象
 
        jp4=new JPanel();
        jp4.setBorder(new EmptyBorder(5, 10, 0, 10)); // 设置边距
        jp4.add(js);
        container.add(jp4);
        
        jp6=new JPanel();
        jp6.setBorder(new EmptyBorder(-5, 10, 0, 10)); // 设置边距
        jp6.add(jl3);
        container.add(jp6);
        
        jp3=new JPanel();
        jp3.setBorder(new EmptyBorder(0 ,120, 10, 10)); // 设置边距
        jp3.add(jb1);
        jp3.add(jb2);
        
        container.add(jp3);  
         
        setLayout(new FlowLayout(FlowLayout.LEFT,4,4));//设置网格布局管理器3行1列
        setTitle("百度链接推送 -- Bob");
        setSize(480,610);
        setResizable(false);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setUndecorated(true);
        setBackground(Color.WHITE);
        setVisible(true);
}



【接受数据】
[Java] 纯文本查看 复制代码
// 鼠标点击事件
@Override
public void mouseClicked(MouseEvent e) {
if (e.getSource() == jb1) {
if ("请输入推送接口".equals(transverse.getText())) {
JOptionPane.showMessageDialog(null, "推送接口不能为空", "错误提示",JOptionPane.ERROR_MESSAGE);
} else if ("请输入推送链接".equals(jt.getText())) {
JOptionPane.showMessageDialog(null, "推送链接不能为空", "错误提示",JOptionPane.ERROR_MESSAGE);
}else {
String api = transverse.getText();
String url = jt.getText();
String[] urls = url.split("\n");
String json = Post(api, urls);//执行推送方法  
    Gson gs = new  Gson();
    JSONObject rs = JSONObject.fromObject(json);
    System.out.println("成功推送:"+rs.get("success")+" 条,今日剩余推送条数:"+rs.get("remain")+" 条");  //打印推送结果 
    JOptionPane.showMessageDialog(null, "成功推送:"+rs.get("success")+" 条,今日剩余推送条数:"+rs.get("remain")+" 条","推送结果",JOptionPane.PLAIN_MESSAGE);
}
}else if(e.getSource() == jb2) {
transverse.setText("请输入推送接口");
jt.setText("请输入推送链接");
}
}


【POST方式推送链接】
[Java] 纯文本查看 复制代码
/** 
     * 百度链接实时推送 
     * @param PostUrl 
     * @param Parameters 
     * [url=home.php?mod=space&uid=155549]@Return[/url] 
     */  
    public static String Post(String PostUrl,String[] Parameters){  
        if(null == PostUrl || null == Parameters || Parameters.length ==0){  
            return null;  
        }  
        String result="";  
        PrintWriter out=null;  
        BufferedReader in=null;  
        try {  
            //建立URL之间的连接  
            URLConnection conn=new URL(PostUrl).openConnection();  
            //设置通用的请求属性  
            conn.setRequestProperty("Host","data.zz.baidu.com");  
            conn.setRequestProperty("User-Agent", "curl/7.12.1");  
            conn.setRequestProperty("Content-Length", "83");  
            conn.setRequestProperty("Content-Type", "text/plain");  
               
            //发送POST请求必须设置如下两行  
            conn.setDoInput(true);  
            conn.setDoOutput(true);  
               
            //获取conn对应的输出流  
            out=new PrintWriter(conn.getOutputStream());  
            //发送请求参数  
            String param = "";  
            for(String s : Parameters){  
                param += s+"\n";  
            }  
            out.print(param.trim());  
            //进行输出流的缓冲  
            out.flush();  
            //通过BufferedReader输入流来读取Url的响应  
            in=new BufferedReader(new InputStreamReader(conn.getInputStream()));  
            String line;  
            while((line=in.readLine())!= null){  
                result += line;  
            }  
               
        } catch (Exception e) {  
            System.out.println("发送post请求出现异常!"+e);  
            e.printStackTrace();  
        } finally{  
            try{  
                if(out != null){  
                    out.close();  
                }  
                if(in!= null){  
                    in.close();  
                }  
                   
            }catch(IOException ex){  
                ex.printStackTrace();  
            }  
        }  
        return result;  
    }  


下面是效果图:
这是昨天写的1.0版本
1.png 2.png


今天完善了下

5.png 3.png 4.png

长得可能丑了点,大家可以自己优化下。

另外,如果需要网页版百度一键推送源码的小伙伴可以联系我要源码,不过网页版的是用PHP写的。

3.png 4.png



下面是源码下载地址:
下载地址2.0.txt (48 Bytes, 下载次数: 73)


免费评分

参与人数 3吾爱币 +3 热心值 +2 收起 理由
夏雨微凉 + 1 热心回复!
旋木过流年 + 1 + 1 谢谢@Thanks!
拨Q + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

拨Q 发表于 2017-10-9 22:11
怎么批量提取网址链接呢。一个个点开太麻烦了
 楼主| BobCoder 发表于 2017-10-9 22:15
拨Q 发表于 2017-10-9 22:11
怎么批量提取网址链接呢。一个个点开太麻烦了

可以自己写个正则表达式,输入链接+表达式,自动生成链接,这样就快了,但是我今天快下班了就没去研究,明天有空我就做出来。
Mr.myl 发表于 2017-10-9 22:39
拨Q 发表于 2017-10-9 22:44
阿宁宽带刷钻 发表于 2017-10-9 04:15
可以自己写个正则表达式,输入链接+表达式,自动生成链接,这样就快了,但是我今天快下班了就没去研究, ...

希望楼主有空做出来。关注你啦
旋木过流年 发表于 2017-10-9 23:19
学习学习
linuxprobe 发表于 2017-10-9 23:27
用JAVA制作的,感觉好高达上~~~~~~~~~
wen123300976 发表于 2017-10-10 11:54
好牛逼。能批量就好了。
夏雨微凉 发表于 2017-10-10 21:35
不知道干嘛的     顶一下楼主
头像被屏蔽
king8222 发表于 2017-11-13 18:52
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 08:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表