文档章节

JAVA调用CSDN接口发博文

杨尚川
 杨尚川
发布于 2014/02/16 16:05
字数 518
阅读 558
收藏 11

使用用户名密码登录以获取cookies,随后使用获得的cookies就可以进行诸如发博文等任意操作了。

 

 

import java.util.HashMap;
import java.util.Map;
import org.jsoup.Connection;
import org.jsoup.Connection.Method;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;

/**
 * CSDN发博文
 * @author 杨尚川
 */
public class CsdnBloger {
    public static void main(String[] args) throws Exception{
        Map<String, String> cookies = login("csdnblogtest@163.com", "csdnblogtest");
        String title = "Java应用级产品开发平台APDPlat";
        String content = "APDPlat是Application Product Development Platform(应用级产品开发平台)的缩写。APDPlat提供了应用容器、多模块架构、代码生成、安装程序、认证授权、备份恢复、数据字典、web service、系统监控、操作审计、统计图、报表、机器绑定、防止破解、数据安全、内置搜索、数据转换、maven支持、WEB组件、内容管理、工作流、Web资源优化等功能。";
        String tags = "APDPlat";
        publishBlog(cookies, title, content, tags);
    }    
    public static void publishBlog(Map<String, String> cookies, String title, String content, String tags) throws Exception{
        String url = "http://write.blog.csdn.net/postedit?edit=1&isPub=1";
        Connection conn = Jsoup.connect(url)
                        .header("Accept", "*/*")
                        .header("Accept-Encoding", "gzip, deflate")
                        .header("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3")
                        .header("Connection", "keep-alive")
                        .header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")                        
                        .header("Host", "write.blog.csdn.net")
                        .header("Pragma", "no-cache")
                        .header("Referer", "http://write.blog.csdn.net/postedit")
                        .header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0")                        
                        .header("X-Requested-With", "XMLHttpRequest")
                        .data("tags", tags)
                        .data("titl", title)
                        .data("typ", "1")
                        .data("cont", content)
                        .data("desc", "")
                        .data("flnm", "")
                        .data("chnl", "0")
                        .data("comm", "2")
                        .data("level", "0")
                        .data("tag2", "")
                        .data("artid", "0")
                        .data("stat", "publish")
                        .ignoreContentType(true);
        for(String cookie : cookies.keySet()){
            conn.cookie(cookie, cookies.get(cookie));
        }
        String text = conn.post().text();
        System.out.println(text);
    }    
    public static Map<String, String> login(String userName, String password) throws Exception{
        Map<String, String> map = new HashMap<>();
        map.put("u", userName);
        map.put("p", password);
        map.put("t", "log");
        map.put("remember", "0");
        map.put("f", "http%3A%2F%2Fwww.csdn.net%2F");
        map.put("rand", "0.4835865827484527");
        Connection conn = Jsoup.connect("https://passport.csdn.net/ajax/accounthandler.ashx");
        conn.header("Accept", "*/*");
        conn.header("Accept-Encoding", "gzip, deflate");
        conn.header("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
        conn.header("Host", "passport.csdn.net");
        conn.header("Referer", "https://passport.csdn.net/account/login");        
        conn.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0");
        conn.header("X-Requested-With", "XMLHttpRequest");
        Response response = conn.ignoreContentType(true).method(Method.POST).data(map).execute();
        System.out.println("用户登录返回信息:"+response.body());
        Map<String, String> cookies = response.cookies();
        System.out.println("*******************************************************cookies start:");
        cookies.keySet().stream().forEach((cookie) -> {
            System.out.println(cookie+":"+cookies.get(cookie));
        });
        System.out.println("*******************************************************cookies end:");
        return cookies;
    }
}

 

 

© 著作权归作者所有

杨尚川

杨尚川

粉丝 1102
博文 220
码字总数 1624053
作品 12
东城
架构师
私信 提问
加载中

评论(1)

FastDFS的配置、部署与API使用解读(2)以字节方式上传文件的客户端代码

本文来自 诗商·柳惊鸿 Poechant CSDN博客,转载请注明源地址: FastDFS的配置、部署与API使用解读(2)上传文件到FastDFS分布式文件系统的客户端代码 在阅读本文之前,请您先通过 《FastDFS...

晨曦之光
2012/04/24
479
0
centos7.X配置JDK、Maven环境变量

[root@localhost soft]# vim /etc/profile JDK环境变量 export JAVA_HOME=/usr/local/java export JREHOME=$JAVAHOME/jre export CLASSPATH=.:$JAVAHOME/lib/dt.jar:$JAVAHOME/lib/tools.ja......

liubao425
2018/12/28
13
0
Java 7 爆最新漏洞,10年前的攻击手法仍有效

据SECLISTS透露,他们发现新的Reflection API在引进Java SE 7时并未经过非常安全的复查,并且存在着一个非常大的漏洞。 该漏洞可以允许黑客利用10年前便广为人知的手法来攻击Java虚拟机。Jav...

oschina
2013/07/19
5K
68
maven打包时提示No compiler is provided in this environment. Perhaps you are running on a JRE rather than

最近在项目打包时提示错误No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?,项目打包不了。百度了一下原来是Window-->preferences-->Ja......

华中湖北人才培训
2018/12/26
41
0
服务器后端开发系列——《实战FastDFS分布式文件系统》

1、FastDFS的配置、部署与API使用解读(1)Get Started with FastDFS 内容:讲解FastDFS的背景、基本原理,并讲述基本的配置、部署和测试的内容。 2、FastDFS的配置、部署与API使用解读(2)...

晨曦之光
2012/04/24
463
0

没有更多内容

加载失败,请刷新页面

加载更多

表示数值的字符串

使用正则表达式进行匹配。 [] : 字符集合() : 分组? : 重复 0 ~ 1 次+ : 重复 1 ~ n 次* : 重复 0 ~ n 次. : 任意字符\\. : 转义后的 .\\d : 数字 public b...

Garphy
28分钟前
7
0
大数据最核心的关键技术——32个算法,记得收藏!

奥地利符号计算研究所的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结...

大数据金罗
57分钟前
12
0
spring boot The server time zone value 'PDT' is unrecognized or represents more than one time zone.

spring boot启动项目时,发现数据库抛如下错误 Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'PDT' is unrecognized or represen......

huangkejie
今天
5
0
Laravel 5.1的多路由文件的配置

默认的路由配置文件只有一个, \app\Http\routes.php。 在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件。 找到加载\app\Http\routes.php的文件, 打开\app\Provid...

mdoo
今天
5
0
Hibernate 5 开始使用指南前言

同时在面向对象软件和关系型数据库进行工作,可能会非常复杂和费时。数据在对象和数据库之间可能会不一致,然后导致开发成本会非常高。 Hibernate 是一个针对 Java 环境的对象关系映射(Obj...

honeymoose
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部