QQ空间批量删除留言

QQ空间批量删除留言

删除qq空间的留言。操作多了容易

{

"code":-4012,

"subcode":512,

"message":"操作过于频繁咯!休息会再来操作吧!",

"notice":0,

"time":1611556467,

"tips":"9A7C-0",

"data":{}

}

我的是删了几百条就频繁了。

package com.demo.demo;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONArray;

import com.alibaba.fastjson.JSONObject;

import okhttp3.FormBody;

import okhttp3.OkHttpClient;

import okhttp3.Request;

import okhttp3.Response;

import org.apache.commons.lang.StringUtils;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.URL;

import java.net.URLConnection;

import java.net.URLEncoder;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

/**

* @author: c

* @create: 2021/01/25

* @description:

**/

public class Test {

private static String cookie = "你的cookie";

public static void main(String[] args) {

int start = 214;

for (int i = start;i > 1 ; i--){

getList(i);

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

public static void getList(int start){

String url ="https://user.qzone.qq.com/proxy/domain/m.qzone.qq.com/cgi-bin/new/get_msgb";

Map map = new HashMap();

map.put("uin","");//qq号

map.put("hostUin","");//qq号

map.put("num","10");

map.put("start",start + "0" );

map.put("hostword","0");

map.put("essence","1");

map.put("r","0.3180397351938269");

map.put("iNotice","0");

map.put("inCharset","utf-8");

map.put("outCharset","utf-8");

map.put("format","jsonp");

map.put("ref","qzone");

map.put("g_tk","979031278");

map.put("g_tk","979031278");

String result = sendGet(url, map );

result = result.replace("_Callback(","").replace(");","");

JSONObject jsonObject = JSONObject.parseObject(result);

JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("commentList");

String idList = "";

String uinList = "";

for (int i = 0 ; i< jsonArray.size();i ++){

JSONObject jsonObject1 = jsonArray.getJSONObject(i);

idList = idList + jsonObject1.getString("id") + ",";

uinList = uinList + jsonObject1.getString("uin") + ",";

}

Map param = new HashMap<>();

param.put("hostUin","");//qq号

param.put("idList",idList.substring(0,idList.length()-1));

param.put("uinList",uinList.substring(0,uinList.length() -1 ));

param.put("format","ts");

param.put("iNotice","1");

param.put("inCharset","utf-8");

param.put("outCharset","utf-8");

param.put("ref","qzone");

param.put("json","1");

param.put("qzreferrer","https://user.qzone.qq.com/proxy/domain/qzs.qq.com/qzone/msgboard/msgbcanvas.html#page=" + (start+1) );

String urlpost = "https://h5.qzone.qq.com/proxy/domain/m.qzone.qq.com/cgi-bin/new/del_msgb?g_tk=979031278";

String s = postForm(urlpost, param);

System.out.println(param.toString());

System.out.println(idList.substring(0,idList.length()-1));

System.out.println(uinList.substring(0,uinList.length() -1 ));

System.out.println(s);

}

public static String sendGet(String url, Map querys) {

String result = "";

BufferedReader in = null;

StringBuilder sbUrl = new StringBuilder();

try {

if (null != querys) {

StringBuilder sbQuery = new StringBuilder();

for (Map.Entry query : querys.entrySet()) {

if (0 < sbQuery.length()) {

sbQuery.append("&");

}

if (StringUtils.isBlank(query.getKey()) && !StringUtils.isBlank(query.getValue())) {

sbQuery.append(query.getValue());

}

if (!StringUtils.isBlank(query.getKey())) {

sbQuery.append(query.getKey());

if (!StringUtils.isBlank(query.getValue())) {

sbQuery.append("=");

sbQuery.append(URLEncoder.encode(query.getValue(), "utf-8"));

}

}

}

if (0 < sbQuery.length()) {

sbUrl.append("?").append(sbQuery);

}

}

String urlNameString = url + sbUrl;

URL realUrl = new URL(urlNameString);

// 打开和URL之间的连接

URLConnection connection = realUrl.openConnection();

// 设置通用的请求属性

connection.setRequestProperty("accept", "*/*");

connection.setRequestProperty("connection", "Keep-Alive");

connection.setRequestProperty("user-agent",

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

connection.setRequestProperty("cookie", cookie);

// 建立实际的连接

connection.connect();

// 获取所有响应头字段

Map> map = connection.getHeaderFields();

// 遍历所有的响应头字段

for (String key : map.keySet()) {

System.out.println(key + "--->" + map.get(key));

}

// 定义 BufferedReader输入流来读取URL的响应

in = new BufferedReader(new InputStreamReader(

connection.getInputStream()));

String line;

while ((line = in.readLine()) != null) {

result += line;

}

} catch (Exception e) {

System.out.println("发送GET请求出现异常!" + e);

e.printStackTrace();

}

// 使用finally块来关闭输入流

finally {

try {

if (in != null) {

in.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

return result;

}

public static String postForm(String url, Map params){

String result = "";

OkHttpClient client = new OkHttpClient.Builder().build();

FormBody.Builder formbuilder = new FormBody.Builder();

Iterator it = params.keySet().iterator();

while (it.hasNext()) {

String key = it.next();

formbuilder.add(key, params.get(key));

}

FormBody body = formbuilder.build();

Request request = new Request.Builder().url(url).addHeader(

"cookie",cookie

).addHeader("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)")

.addHeader("connection","Keep-Alive")

.addHeader("accept","*/*")

.post(body).build();

Response response = null;

try {

response = client.newCall(request).execute();

System.out.println("返回状态码" + response.code() + ",message:" + response.message());

result = response.body().string();

} catch (IOException e) {

e.printStackTrace();

}

return result;

}

}

所需pom

com.alibaba

fastjson

1.2.50

com.squareup.okhttp3

okhttp

4.9.0

org.jsoup

jsoup

1.10.3

org.apache.httpcomponents

httpclient

4.5.12

commons-lang

commons-lang

2.6

相关推荐

vivo 哪些型号可以指纹解锁
beat365英超欧冠平台

vivo 哪些型号可以指纹解锁

📅 07-22 👁️ 4851
在中国最好的足球场VIP包厢看球是怎样一种体验?...
窗帘制作软件有哪些?窗帘制作软件大全-窗帘制作软件免费下载
毛主席为什么不同意出版《毛泽东选集》第五卷
beat365英超欧冠平台

毛主席为什么不同意出版《毛泽东选集》第五卷

📅 10-16 👁️ 6799
揭秘Android千锋:从入门到精通,你的编程之路从这里启航
beat365英超欧冠平台

揭秘Android千锋:从入门到精通,你的编程之路从这里启航

📅 07-07 👁️ 7952
Win11为什么玩不了《耻辱2》?解决方法是什么?