一,首先打开miui论坛手机版抓包
fiddler软件抓包(用抓手机数据包我会在下篇博客讲解)
二.打开任意一个帖子,回复一段话,然后fiddler上就会显示那条链接
这个抓到了请求了,post请求 ,请求参数都在这里(我发送的内容就是11111111
,然后帖子id 也就是那个tid的值)
三.根据request请求来伪装请求(以下是python代码)
内容可以点击Raw然后复制每一项键值对(比较方便)
#-*-coding:utf8-*-
import urllib.request
import urllib.parse
import time
import datetime
#返回值为休息的时间(每一个内容都需要等待时间的15秒,于是我就默认返回了20秒)
def huifu(msg):
url = "https://api.bbs.miui.com/app/forum/reply"
postdata = urllib.parse.urlencode({
"fromCient":"jason",
"message":msg,
"attachenew":[],
"tid":"15384945"#帖子tid也必须修改,可申请小号然后发帖,就是刷小号的贴
}).encode("utf8")
req = urllib.request.Request(url, postdata)
#以下就是伪装头信(根据你抓包的头信息来对应修改,Cookie必须修改(里面保存的登录信息))
Cookie = "************************"
req.add_header("Cookie",Cookie)
req.add_header("Content-Type", "application/x-www-form-urlencoded")
req.add_header("X-Imei","c814f01250a08546e3391fb04c69d132")
req.add_header("X-MIUI-VersionIncremental","8.4.26")
req.add_header("X-Device","jason")
req.add_header("X-App-Version","3.0.4")
req.add_header("X-Model","Mi Note 3")
req.add_header("X-MIUI-VersionType","dev")
req.add_header("X-MIUI-VersionName","v9")
req.add_header("User-Agent","Dalvik/2.1.0 (Linux; U; Android 7.1.1; Mi Note 3 MIUI/8.4.26)")
data = urllib.request.urlopen(req).read().decode("utf-8")
print(data)#打印response的json数据
#以下是报错处理(每个用户组的每小时回复贴数是有限的)
if str(data) == "{'error': 4, 'desc': '抱歉,您所在的用户组每小时限制发回帖 100 个,请稍候再发表'}":
print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))#打印报错的时间(如何程序出错了可以根据这个时间然后等一个小时继续运行)
print("休息60分钟后重试")
return 60*60
elif str(data) == "{'error': 4, 'desc': '抱歉,您的帖子小于 15 个字符的限制'}":
return 1
print("当前积分为:"+jisheng())
return 20