Node.js登录到博客网站并创建新帖子

Node.js Login to blog site and Create new post

本文关键字:创建 新帖 网站 js 登录 Node      更新时间:2023-09-26

我想登录到blogfa.com(一个波斯语博客服务)并创建一个新的帖子node.js

要做到这一点,我使用request.js发布登录网站,去这个url " /Desktop/Post.aspx?action=newpost ",并发布一个新的内容

这是我目前得到的代码:

var request = require('request');
var cheerio = require('cheerio');
var j = request.jar();
    request = request.defaults({ jar : j }); //it will make the session default for every request
    //...
    var headers = {
                 'User-Agent':       'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36 OPR/28.0.1750.48',
                'Content-Type':     'application/x-www-form-urlencoded'
              };
    request({
        url:"http://blogfa.com/Desktop/login.aspx",
        method:"POST",
        form:{uid:"demoblog1",pwd:"test"},
        headers: headers,
        followRedirect:true
    },
    function(error,response,body){
      console.log(body);
    });

问题我有它,我不能登录到网站。

我不,为什么不工作!我使用jar作为cookie,发布用户和密码,还设置了头。

这里是runnable代码你可以测试:

http://code.runnable.com/Vc7EnmyVlgRa1Hx-/blog-login-for-node-js

请求cookie

 .ASPXBLOG  BC045A0CD184FEA10D91561EB67A302F1E036D88E50CE4264E4ABD003
__utma  36873331.1996897518.1435135939.1437159460.1439563539.7
__utmz  36873331.1437159460.6.6.utmcsr=chat.delgarm.com|utmccn=(referral)
pubset  ar=1&z=12600&ds=0&cmt=0&cats=0&tag=0&nu=1&bt=dGVzdCB
ten 67145377

默认情况下,request不遵循非get请求的重定向,这就是本例中发生的情况。所以在你的request()选项中设置followAllRedirects: true,它应该工作得很好。