Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1429187
  • 博文数量: 931
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 10198
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-08 12:28
个人简介

测试

文章分类

全部博文(931)

文章存档

2020年(134)

2019年(792)

2018年(5)

我的朋友

分类: 架构设计与优化

2019-05-31 13:54:45

我是一个懒惰的程序员。我在github仓库里用issue的方式写了很多分享文章,想同步到CSDN上。但是我又不想一篇篇手动复制粘贴,因此想用代码来实现自动化。

例子:

这是我的一个issue:

我使用下面这些nodejs代码实现从github 仓库issue到CSDN博客的拷贝:

var config = require("./mcConfig"); var request = require('request'); var querystring = require('querystring'); function createPost(oPost) { var url = ""; var oBody = { title: oPost.title, markdowncontent: oPost.body, tags:"Fiori", categories:"Fiori", channel:"14", type:"original", articleedittype:"1", content: oPost.body
        }; var formData = querystring.stringify(oBody); var contentLength = formData.length; var createPostOptions = { url: url, method: "POST", headers: { "content-type": "application/x-www-form-urlencoded", "Content-Length": contentLength, "origin" :"", "referer" :"/mdeditor", "User-Agent" :"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36", "cookie": config.cookie
        }, body: formData
}; return new Promise(function(resolve,reject){ var requestC = request.defaults({jar: true}); console.log("Step1: create post via url: " url );

      requestC(createPostOptions,function(error,response,body){ if(error){
          reject(error);
       } console.log("response: " body);
       resolve(body);
      }); 
     });
} module.exports = createPost; var request = require('request'); function getIssue(issueNumber) { var url = "" issueNumber; var getIssueOptions = { url: url, method: "GET", json:true, headers: { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" }
  }; return new Promise(function(resolve,reject){ var requestC = request.defaults({jar: true}); console.log("Step1: get issue detail via url: " url );

      requestC(getIssueOptions,function(error,response,body){ if(error){ console.log("error occurred: " error);
          reject(error);
        } console.log("title:" body.title); console.log("body: " body.body); for( var i = 0; i < body.labels.length; i  ){ console.log("label: " body.labels[i].name);
        }
        resolve(body);
      }); 
     });
} module.exports = getIssue; var readIssue = require("./readIssueMod"); var createPost = require("./createPostMod");

readIssue(2215).then(createPost).catch((error)=>{console.log("error: " error)}); 

执行结果:

已经自动同步到CSDN了,方便!


要获取更多Jerry的原创文章,请关注公众号"汪子熙":


阅读(1051) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~