蝴蝶效应-虎的博客
博客信息

(HttpClient技术)(今日头条系列)HttpClient发布文章-纯文字类型文章

0
发布时间:『 2019-09-26 22:27』  博客类别:Httpclient提高分享  阅读(2557) 评论(0)

前言

    上篇文章(HttpClient技术)(今日头条系列)HttpClient模拟今日头条登录中,对于近日的头条的登录方法,已经被我模拟破解了,那么这次就分享一下,如果使用Java HttpClient模拟发布文章,头条中的文章类型,有4中,分别是文字文章,带图片的文章,图集和视频类文章,每一种发布的方式略有不同,今天就先分享,如何使用HttpClient模拟发布纯文字类文章。

image.png

步骤和方法

    模拟发布,主要是模拟发布的post请求的方法和内容,这些在前面的抓包方法中,都有介绍,先介绍一下使用的语言和工具:

  使用语言:Java

  使用Jar包: Java HttpClient 4.x核心Jar包

  开发工具:MyEclipse 8

    步骤如下:

  1 模拟进入发布内容页面

  2 获取发布页面需要发布的参数

  3 请求post内容,模拟发布

核心代码分享如下:

  //模拟Post请求,发布内容
g3 = new HttpPost("https://mp.toutiao.com/core/article/edit_article_post/?source=mp&type=article") ;
				
g3.setHeader("Accept", "text/javascript, text/html, application/xml, text/xml, */*") ;
g3.setHeader("X-CSRFToken", "undefined") ;
g3.setHeader("X-Requested-With", "XMLHttpRequest") ;
g3.setHeader("Accept-Language", "zh-CN") ;
g3.setHeader("Cache-Control", "no-cache") ;
g3.setHeader("Connection", "Keep-Alive") ;
g3.setHeader("Referer", "https://mp.toutiao.com/profile_v2/publish") ;
g3.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko") ;
g3.setHeader("Content-Type", "application/x-www-form-urlencoded") ;
				
String formatcontent = "<p>"+content+"</p>" ;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
				
qparams.add(new BasicNameValuePair("article_type","0")); //0 文章
qparams.add(new BasicNameValuePair("title", title));
qparams.add(new BasicNameValuePair("content", formatcontent));
qparams.add(new BasicNameValuePair("claim_origin", "0"));
qparams.add(new BasicNameValuePair("article_ad_type", "2"));
qparams.add(new BasicNameValuePair("add_third_title","0"));
qparams.add(new BasicNameValuePair("recommend_auto_analyse","0"));
qparams.add(new BasicNameValuePair("tag",""));
qparams.add(new BasicNameValuePair("article_label",""));
qparams.add(new BasicNameValuePair("is_fans_article", "0"));
qparams.add(new BasicNameValuePair("govern_forward", "0"));
qparams.add(new BasicNameValuePair("push_status", "0"));
qparams.add(new BasicNameValuePair("push_android_title",""));
qparams.add(new BasicNameValuePair("push_android_summary",""));
qparams.add(new BasicNameValuePair("push_ios_summary",""));
qparams.add(new BasicNameValuePair("timer_status", isImediate? "0" : "1")); //0立刻发送 1 定时发送
qparams.add(new BasicNameValuePair("timer_time", publishTime)); // 必须24小时之内
qparams.add(new BasicNameValuePair("column_chosen", "0"));
qparams.add(new BasicNameValuePair("pgc_id", "0"));
qparams.add(new BasicNameValuePair("pgc_feed_covers","[]"));
qparams.add(new BasicNameValuePair("from_diagnosis","0"));
qparams.add(new BasicNameValuePair("save","1"));
				
UrlEncodedFormEntity params = new UrlEncodedFormEntity(qparams, "UTF-8");
g3.setEntity(params);
				
response2 = httpClient.execute(g3);
sg1 = EntityUtils.toString(response2.getEntity(),"utf-8") ;
sg1 = StringRandomUtils.unicodeToString(sg1) ; 
System.out.println(sg1);

总结:

    相信分享完整套的头条从登陆,到文章的自动发布流程后,以后发布文章,就可以通过模拟工具在后台进行发布了。如果有全部主流网站的登录和发布的流程,那么一篇文章,就可以很容易的发布到新浪微博,今日头条,腾讯微博,喜马拉雅,蜻蜓等主流自媒体网站了,这样一个平台的前景是很可观的了,当然了,Java爬虫和批量自动化操作的技术难度,也是非常大的了。

    好了,这里说多了,有些跑题,后面会继续分享如何发布带图片的,图集和视频的文章,谢谢大家关注。


关键字:   Java     Java HttpClient     Java爬虫     模拟今日头条发布  
评论信息
暂无评论
发表评论
验证码: 
博主信息
【蝴蝶效应-虎】
  年轻只有一次,但是梦想却可以奋斗一辈子!

博主寄语:也曾年少轻狂,无奈时光易老!希望将绵薄的技术分享进行到底。
有求必应:如果需要帮助,请给我留言,一定知无不言,言无不尽,请大家多多支持博主,谢谢。
分享无悔:如果有一天你可以回到过去,你还愿意成为现在的自己吗?不让自己后悔,时光无悔。
  • 36文章总数
  • 5486访问次数
  • 38建站天数
  • 友情链接
    Copyright © 2019-2025 蝴蝶效应-虎
    陕ICP备19011911号-2