Artikel ini berbagi Java mensimulasikan http mendapatkan permintaan pos dan kampus BBS Fungsi Balas Otomatis untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Ide Desain
Temukan kumpulan tautan pos dan ubah nomor di akhir, dan Anda bisa mendapatkan posting yang berbeda
Mencegah posting dihapus lagi, dan tentukan apakah ada pos
Izin melalui koleksi ini dan buat permintaan posting untuk membalas setiap tautan
Poin -poin penting
Catatan:
Kode
Kode ini relatif sederhana. Tindakan pencegahan adalah menemukan cookie Anda sendiri. Tetapkan wookie Anda untuk mengikat Anda dan jalankan secara langsung.
Hal utama adalah menentukan apakah postingan ada atau tidak. Ini adalah permintaan GET, dan kemudian kirim balasan dengan posting. Pesan balasannya hardcoded sebagai "ramah membantu" di mapData.put ("pesan", "friendly help"), Anda dapat memodifikasinya
impor java.io.bytearrayoutputStream; import java.io.ioexception; import java.io.inputStream; impor java.io.outputstream; impor impor. java.net.url; import java.net.urlencoder; import java.util.linkedhashmap; import java.util.map; kelas publik inter {private static final string baserefer = "http:/rs.xidian.edu.cn/forum.php? Private Static Final String yourcookie = "q8qa_2132_saltkey = g1njjj3o; q8qa_2132_lastvisit = 1438243699; q8qa_2132_lastcheckfeed = 256730%7c1438252008; Qtypfdk72yjzegjhl1v70cuxxdtj71vbu2dyuh%2bqhw3pgojhsfxfjbvGnsvyfg1v%2bqld0lt8kg6j%2b4b4svyfg1v%2bqld0lt8kg6j%2blt8kg6j%2blt8kg6j%2blt8kg6j; Q8QA_2132_ST_T = 256730%7C1438571068%7C51F8A322985E44F65FF1143329E6779A; Q8qa_2132_myrepeat_rr = r0; TJPCTRL = 1438781938176; Q8QA_2132_ST_P = 256730%7C1438781224%7C7A73EF608DC3CAF733308D63639B3BD0; Q8QA_2132_SID = znfqqn; public static void main (string [] args) {int startId = 774210; // Anda membutuhkan perubahan untuk (int i = 0; i <100; i ++) {postmessage (startId); startid ++; }} public static boolean isExist (int id) {string tMppath = baserefer + id; URL URL; coba {url = url baru (tMppath); HttpurlConnection con = (httpurlconnection) url.openconnection (); con.addrequestproperty ("tipe konten", "teks/html; charset = utf-8"); con.addrequestproperty ("agen-pengguna", "mozilla/5.0 (Windows NT 6.1) AppleWebkit/537.36 (khtml, seperti tokek) chrome/38.0.2125.104 safari/537.36"); con.addrequestproperty ("referer", "http://t.dianping.com/register"); con.setRequestMethod ("get"); if (con.getResponsecode () == 200) {inputStream inputstr = con.getInputStream (); String info = string baru (streamTool.read (inputStr), "UTF-8"); if (info.contains ("Maaf, topik yang ditentukan tidak ada atau telah dihapus atau sedang ditinjau")) {System.out.println ("id =" + id + "Posting ada atau telah dihapus!"); mengembalikan false; }}} catch (MalFormedurlexception e) {// TODO Auto-Encanerated Catch Block E.PrintStackTrace (); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); } catch (Exception e) {// TODO Auto-Entoerated Catch Block E.PrintStackTrace (); } return true; } public static void postmessage (int id) {if (! isExist (id)) {return; } String tMppath = baserefer + id; StringBuilder path = new StringBuilder (tMppath); Peta <String, String> mapData = LinkedHashMap baru <String, String> (); mapData.put ("mod", "post"); MapData.put ("Action", "Reply"); MapData.put ("ReplySubmit", "Ya"); mapData.put ("empur", "ya"); mapData.put ("candey", "fastpost"); mapData.put ("inajax", "1"); mapData.put ("pesan", "dukungan persahabatan"); MapData.put ("Formhash", "86ec5d81"); coba {untuk (map.entry <string, string> mapent: mapData.entryset ()) {path.append ("&"); path.append (mapent.getKey () + "="); Path.Append (urlencoder.encode (mapent.getValue (), "UTF-8")); } Url url = url baru (path.toString ()); HttpurlConnection con = (httpurlconnection) url.openconnection (); con.setRequestMethod ("post"); con.setRequestProperty ("tipe konten", "Aplikasi/X-WWW-Form-Urlencoded"); con.setRequestProperty ("Content-length", String.ValueOf (Path.Length ())); con.setRequestProperty ("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (Khtml, Like Gecko) Chrome/38.0.2125.104 Safari/537.36"); con.setRequestProperty ("cookie", yourcookie); con.setDoOutput (true); OutputStream outstr = con.getoutputStream (); outstr.write (path.toString (). getBytes ()); if (con.getResponsecode () == 200) {inputStream inputstr = con.getInputStream (); String info = string baru (streamTool.read (inputStr), "UTF-8"); System.out.println ("Dalam id =" + id + "berhasil diposting!"); coba {thread.sleep (20 * 1000); } catch (InterruptedException E) {// TODO Auto-Encanerated Catch Block E.PrintStackTrace (); }}} catch (UnsupportedEncodingException e) {// TODO AUTO-AUTO-GOT CATCH BLOCK E.PRINTSTACKTRACE (); } catch (MalFormedurlexception e) {// TODO Auto-Encanerated Catch Block E.PrintStackTrace (); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); } catch (Exception e) {// TODO Auto-Entoerated Catch Block E.PrintStackTrace (); }}} class streamTool {public static byte [] baca (inputStream inputStr) melempar pengecualian {bytearrayoutputStream outstr = new ByTeArrayOutputStream (); // Metode Stub Byte Metode Auto-Auto TODO [] buffer = byte baru [1024]; int len = 0; while ((len = inputstr.read (buffer))! = -1) {outstr.write (buffer, 0, len); } inputstr.close (); return outstr.tobytearray (); }}Diagram reproduksi
Di atas adalah semua konten artikel ini. Saya harap ini akan membantu untuk belajar semua orang dan mengaktifkan balasan otomatis ke posting.