使用用户名密码登录以获取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; } }
相关推荐
Java自定义函数式接口, 单参数无参使用方法。多参数带返回值使用方法。csdn博文地址:https://blog.csdn.net/yuzhiqiang_1/article/details/100579308
一款java接口文档自动生成的插件,包含了根据接口注释或注解自动生成接口文档,可网页打开,使用spring+vue开发,告别传统手写接口文档,告别swagger臃肿视图和阉割功能,提供了生成、管理及使用等全方位功能。...
Java中使用Json,具体过程和效果看博文 http://blog.csdn.net/evankaka/article/details/46741577
NULL 博文链接:https://zhaoshijie.iteye.com/blog/798544
Java的泛型类、接口、方法的使用方法的全部案例 具体博文: List接口与实现类:https://blog.csdn.net/yao_yaoya/article/details/128018221 泛型的介绍和使用方法:...
JAVA实现长连接(含心跳检测)Demo,基于https://blog.csdn.net/zmx729618/article/details/54378259该作者的博文实现的代码示例。
代码来源网络,对部分内容进行了修正;确保调接口,一次通过; 博文地址:http://blog.csdn.net/dakalaowang/article/details/52401954
接下来我们将图片转化成Java API能够接受使用Highui类的格式,铺垫在OpenCV C++的n维密集数组类上边。 然后,调用分类器上的detectMultiScale方法传递给它图象和MatOfRect对象。这个过程之后,MatOfRect将有面部检测...
ChatGLM、ChatGLM6B多用户访问接口,支持http、websocket和前端页面多用户同时访问,ChatGLM模型部署详细介绍请参考博文“https://blog.csdn.net/suiyingy/article/details/130412307”。ChatGLM6B默认的部署程序仅...
博文配套的JNI测试程序,测试Java调用C++的DLL库,详情见文章https://blog.csdn.net/xinxin_2011/article/details/85006113
java调用短信猫发送短信。 这里的短信猫主要使用RS232串口与服务器通信。smslib.jar 需要用到java串口通信需要用到的comm.jar,win32com.dll和javax.comm.properties。 下载地址:短信猫java二次开发包smslib及使用...
本书介绍了Java平台上的高级输入/输出,具体点说,就是使用Java 2标准版(J2SE)软件开发包(SDK)1.4及以后版本进行的输入/输出。J2SE 1.4版代号Merlin,包含可观的I/O新特性,对此我们将作详细论述。这些新的I/O...
NULL 博文链接:https://q445862108.iteye.com/blog/911506
JAVA连接MongoDB,并进行简单的增删改查操作小例子源码,相关博文: http://blog.csdn.net/dream_broken/article/details/36014733
采用java 来访问PI,我修改之后的精简安装包: 集成以下安装包(64位)。 * OLE DB * PI SQL Data Access Server * PI JDBC Driver 2016 ...博文原文:https://blog.csdn.net/N199109/article/details/78095252
Spring使用JavaConfig集成JPA简单例子,对应博文地址为http://blog.csdn.net/wu_boy/article/details/72353608
实现Java RSA加密及签名的,作为博文的Dome存在,代码很简单,但是分设置较高,主要是希望大家能自己去写,而不是直接下载Demo使用,博文:http://blog.csdn.net/MicrosoftDesigner/article/details/79133359
有些项目中存在多个SourceFolder,而我们可能...详情请参考该完整的java项目,或者笔者博文《如何使用ant从多个Source Folder的项目中导出jar包? 》(地址:http://blog.csdn.net/binbinxyz/article/details/7361376)
cxf java代码生成 wsdl文件 ,wsdl文件生成 java代码,相关博文: http://blog.csdn.net/dream_broken/article/details/35331949
博文连接:https://blog.csdn.net/m0_46013789/article/details/135949927 设计一个Java弹球小游戏的思路如下: 创建游戏窗口:使用Java图形库(如Swing或JavaFX)创建一个窗口,作为游戏的可视化界面。 绘制游戏...