標籤:url [] users xmlhttp turn cat F12 registry com
首先開罵,新浪微博@#@!,不經我同意就轉寄各種微博,製造垃圾,還不提供微博大量刪除功能,擺明了的流氓行為,可恥可恨,遭人唾棄!
SSLClient.java
import org.apache.http.conn.ClientConnectionManager;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.scheme.SchemeRegistry;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.DefaultHttpClient;import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;public class SSLClient extends DefaultHttpClient { public SSLClient() throws Exception { super(); SSLContext ctx = SSLContext.getInstance("TLS"); X509TrustManager tm = new X509TrustManager() { @Override public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } @Override public X509Certificate[] getAcceptedIssuers() { return null; } }; ctx.init(null, new TrustManager[]{tm}, null); SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); ClientConnectionManager ccm = this.getConnectionManager(); SchemeRegistry sr = ccm.getSchemeRegistry(); sr.register(new Scheme("https", 443, ssf)); }}
WeiboTest.java
import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.message.BasicNameValuePair;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;public class WeiboTest { public static final String url = "https://weibo.com/aj/mblog/del?ajwvr=6"; public static final String charset = "utf-8"; public static void main(String[] args) throws Exception { /** * sina_weibo.txt由微博頁面F12獲得格式是 * <div node-type="feed_list"> * <div action-type="feed_list_item"></div> * <div action-type="feed_list_item"></div> * <div action-type="feed_list_item"></div> * <div action-type="feed_list_item"></div> * <div action-type="feed_list_item"></div> * ... * </div> */ File file = new File("C:\\Users\\Nihaorz\\Desktop\\sina_weibo.txt"); BufferedReader br = new BufferedReader(new FileReader(file)); StringBuffer sb = new StringBuffer(); String str; while ((str = br.readLine()) != null) { sb.append(str).append("\n"); } System.out.println(sb); br.close(); Document doc = Jsoup.parseBodyFragment(sb.toString()); Element body = doc.body(); Elements elements = body.select("div[action-type=‘feed_list_item‘]"); Iterator<Element> it = elements.iterator(); HttpPost httpPost = new HttpPost(url); addHeader(httpPost); while (it.hasNext()) { Element element = it.next(); String mid = element.attr("mid"); System.out.println(mid); execute(httpPost, mid); } } private static void execute(HttpPost httpPost, String mid) throws Exception { HttpClient httpClient = new SSLClient(); //設定參數 List<NameValuePair> list = new ArrayList<NameValuePair>(); Map<String, String> map = new HashMap<String, String>(); map.put("mid", mid); Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, String> elem = iterator.next(); list.add(new BasicNameValuePair(elem.getKey(), elem.getValue())); } if (list.size() > 0) { UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, charset); httpPost.setEntity(entity); } HttpResponse resp = httpClient.execute(httpPost); System.out.println(resp); } private static void addHeader(HttpPost httpPost) { httpPost.addHeader("Accept", "*/*"); httpPost.addHeader("Accept-Encoding", "gzip, deflate, br"); httpPost.addHeader("Accept-Language", "zh-CN,zh;q=0.9"); httpPost.addHeader("Connection", "keep-alive"); httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded"); /** * 設定自己的cookie */ httpPost.addHeader("Cookie", "***"); httpPost.addHeader("Host", "weibo.com"); httpPost.addHeader("Origin", "https://weibo.com"); httpPost.addHeader("Referer", "https://weibo.com/1864722372/profile?rank=1&is_all=1"); httpPost.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36"); httpPost.addHeader("X-Requested-With", "XMLHttpRequest"); }}
使用java代碼大量刪除新浪微博