欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nodejs实现百度贴吧灌水(入门版)

程序员文章站 2024-01-03 11:58:10
...

不知道为啥 代码里面被传入了<span></span>  如果看到 请删除!

运行环境  ubuntu16.04

本文需要一定的nodejs基础,最好去慕课看过进击的nodejs教程最后一章,再来看。毕竟我也是菜鸟,摸索的。

首先,我们对百度贴吧某贴吧进行一个小测试,找到request Header

也就是找个帖子,在下面评论,在network里面找到那个请求  我用的是chrome  所以找到名字为add的请求就好了

打开请求,里面就是这个请求的报文

nodejs实现百度贴吧灌水(入门版)

如图所示啦

然后我们把request Header里面的一串东西复制下来  另存为   这很有用!注意  只存request Header里面的内容

然后我们要知道发送的格式  找到formData   也是报文里面的 往下拉就找的到。把里面的东西复制出来 一样另存。你会发现存下来的东西里面,有一项叫做content的  后面正式我们测试时候发送的内容  然后很简单  把content里面的内容 改成你这次想发送的就成了。

然后我们进行套模版。

var http=require('http');
var querystring=require('querystring');
var postData=querystring.stringify({
	'ie':'utf-8',
'kw':'道宗传',
'fid':21999,
'tid':4996197,
'vcode_md5':'',
'floor_num':2,
'rich_text':1,
'tbs':'be946adbde7799017',
'content':'what i want to do,you konw?',
'basilisk':1,
'files':[],
'mouse_pwd':'13,12,10,16,14,132,16,13,16,12,16,13,16,12,16,13,16,12,53,15,11,5,9,13,53,13,15,10,10,16,11,10,4,15600',
'mouse_pwd_t':160,
'mouse_pwd_isclick':0,
'__type__':'reply',
'_BSK':'JVwRUGcLBE0kGUA6TW4BBEhdZyQuSgUbUT0CSGlUKjUjRHwMXCciFAdecScWQsGxBEOQBdDzYcGFZxJQFcXww6XBZQEjV7JjISAwImWghIJBtQOg0FElwPJCQ7NkcUVFVhBEc1QTMiNHUmCl09N1EHVjEyBV5PLD9NMUANfF8iKj0ODjVEUE4hJkcmDSlaXQsTJj8XQBFeX2EKSTNQEj99XT8ZVgs9UQdWLj4eSH4GZVo6RxcqXQUnUgYGMWJBRyAWRzYOIlpWAwkhez1AAXpfOQROIFEFAwJiJQNWOmZRV1JsdV4NG1p5GXMWE2EafXwcABAsXU1YLipSExd8HFdIS2cnaAdPFXIkCVM9FT5oZ29mWxFlZhNEEWd3Vh0bXnkdbgVSclx2fERDLRB9aAlpV0RsQ3ZWVgsLNjJ2BxQDHHdHQCRZNTV9EjFdEXNkSkEHcXUHHAhTaVwtQRt8GjRtXFtDMUNRTmlXUmxDdlZWCws2MnYHBgYcd0cRcw1qcj8CclUTPTYIEB9/O1UPEEszQHJ3MHIUZSxPQ1lnV1FFJgFaMA9sBFEEAyo6cgxVTB4WCUcxXDA1cVM/C1YUZABXH38+VQ8QST1aKlFSclZ0fERBUXUAExtwRAJzQylHElBHd2drEkUCD3xLBDEEZGpzViUBUD0tEhsTKTg3WVgAJ093HV4rGBwwHxUKM1QESCoRVgJBMVQcSAt3dWAFAUVLKEsEMgdkanN+BSN/a2hfAQF/bUQcH1l7H2YNTmUBa3wOUEF/EwEcB1ABbRUuBRVYVWBkGwBHBVwoXhJzVCIyNVVnWwoqIh9EBm1lUxQTWXgfegZMdQ8DfFJDFnQTHgkIGkk2DSAXH19JdXdyfUQGBW0rTytAPnApCGYwBX1tXTRDLTsBek8LAkErG0tjD2ltSEFLDnlwZglZEzMIJxMQLQImPDUMVWJcOAlSMBUFOCNfPQZGJGtLRR1teVccG1tnH2cUPThKKDMbTlV1HxQFdkQCbU97ThA5BiM2KExaAg16SRVzF2pyJgFyVREHETE5EXF1Fx8IU2kZbAJILQ=='
});
var options={
	hostname:'tieba.baidu.com',  //远端服务器网址
	port:80,                     //默认80端口
	path:'/f/commit/post/add',   //路径  可以在general 里面找到 (通常在request header页面的最上面,主网址https://tieba.baidu.com/f/commit/post/add后面的部分,
	method:'POST',
	headers:{                          //发送头
 	'Accept':'application/json, text/javascript, */*; q=0.01',
	'Accept-Encoding':'gzip, deflate, br',
	'Accept-Language':'zh-CN,zh;q=0.8',
	'Connection':'keep-alive',
	'Content-Length':postData.length,
	'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
	'Cookie':'TIEBA_USER3e08a5c0a4985; BAIDUID=B65437D4E89DE0:FG=1; PSTM505; BIDUPSID=9CBE9E4606; BDUSS=ZKOVJSOGlPOGFEOFdCYUJJUzZuUHNhdlpXTkNIRnd2Zzh6fmR1SmoyNFpYcnBaSUFBQUFBJCQAAAAAAAAAAAEAAAAMMNlSWkhCWldBWVpIQVdGQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnRklkZ0ZJZaz; STOKEN=e01e1984421fdbc46464cfa841d4f8a78ca2d2d78acf01fa4b6c039c3622df1a; fixed_bar=1; TIEBAUID=e624cd114086248e9b3b7874; FP_UID=542e9785056ad142b3db311ab24baf2f; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; bottleBubble=1; bdshare_firstime=1502794958852; PSINO=3; H_PS_PSSID=1440_21126_18559_20928; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; FP_LASTTIME=1502799007870; wise_device=0',
	'Host':'tieba.baidu.com',
	'Origin':'https://tieba.baidu.com',
	'Referer':'https://tieba.baidu.com/p/4994556197',
	'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/60.0.3112.78 Chrome/60.0.3112.78 Safari/537.36',
	'X-Requested-With':'XMLHttpRequest'
	}	
}
var req=http.request(options,function(res)
	{
		console.log('status: '+res.statusCode);           //返回状态码
		console.log('headers: '+JSON.stringify(res.headers));   //打印返回报头
		res.on('data',function(chunk)                  
			{
				console.log(Buffer.isBuffer(chunk));
				console.log(typeof chunk);
			});
		res.on('end',function()
		{
			console.log('Everything is OK');
		});
		req.on('error',function(e)
		{
			console.log('Error: '+e.message);
		});
	});
req.write(postData);            //发送数据块
req.end();                          //结束连接
红色部分是我们在form Data复制的东西 按照如图格式 进行操作

绿色部分是request Header的部分  也是如图格式操作。其余部分照抄就行了。

如果还是不懂可以找我 QQ :784863455

注意  为了隐私  红色和蓝色里面个人信息部分 我经过删改 所以该代码不能直接测试,有问题可以留言或者私信我  。




上一篇:

下一篇: