日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

某站点下载资源自己主动评论器

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 某站点下载资源自己主动评论器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前兩天登錄某站點我的資源頁,發現我的下載資源里有近20頁的待評論資源,每個下載資源評論能夠得一個資源分,而某站點的資源評論規則是每隔60秒才干評論一次,假設自己一個一個評論的話,得消耗好多時間。因而特開發了一個某站點下載資源評論器,自己主動的為我評論全部未評論的資源。現將該評論工具分享例如以下:

????? 下載地址:http://url.cn/Q9unBR

????? 在實現過程中,基本的一個難點是某站點的登錄採用的https協議,須要數字證書。

? ? ? 將核心代碼附上:

? ? 1. HTTP請求接口

package suda.mingcai.csdn.http;public interface IHttpClient {String getPage(String url) throws Exception;String sendPost(String url, String param) throws Exception; }

2. HTTP請求基類

package suda.mingcai.csdn.http;import java.net.CookieHandler; import java.net.CookieManager; import java.util.List;import suda.mingcai.csdn.https.HttpsClient;public abstract class HttpClient implements IHttpClient {public final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko";public final String ACCEPT = "text/html, application/xhtml+xml, */*";protected List<String> m_cookies;static{CookieHandler.setDefault(new CookieManager());}public static HttpClient createHttpRequest(String url){if(url.startsWith("https"))return new HttpsClient();elsereturn new HttpRequest();}public void setCookies(List<String> cookies){this.m_cookies = cookies;}public List<String> getCookies(){return this.m_cookies;}public abstract String getPage(String url) throws Exception;public abstract String sendPost(String url, String param) throws Exception;}
? ? ? 3. HTTPS Request

package suda.mingcai.csdn.https;import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL;import javax.net.ssl.HttpsURLConnection;import suda.mingcai.csdn.http.HttpClient;public class HttpsClient extends HttpClient {private HttpsURLConnection m_conn; @Overridepublic String getPage(String url) throws Exception{URL u = new URL(url);m_conn = (HttpsURLConnection) u.openConnection();m_conn.setRequestMethod("GET");m_conn.setUseCaches(false);//set request headersm_conn.setRequestProperty("User-Agent", USER_AGENT);m_conn.setRequestProperty("Accept", ACCEPT);m_conn.setRequestProperty("Accept-Lauguage", "zh-CN,zh;q=0.8,en;q=0.6");//set cookiesif (m_cookies != null){String cookies = "";for (String cookie : m_cookies){cookies += ";" + cookie;}m_conn.addRequestProperty("Cookie", cookies);}//get responseBufferedReader reader = new BufferedReader(new InputStreamReader(m_conn.getInputStream()));StringBuffer response = new StringBuffer();String line;while((line = reader.readLine()) != null)response.append(line);m_cookies = m_conn.getHeaderFields().get("Set-Cookie");reader.close();return response.toString();}public String sendPost(String url, String params) throws Exception{StringBuilder builder = new StringBuilder();URL u = new URL(url);m_conn = (HttpsURLConnection) u.openConnection();m_conn.setUseCaches(false);m_conn.setRequestMethod("POST");m_conn.setRequestProperty("User-Agent", USER_AGENT);m_conn.setRequestProperty("Accept", ACCEPT);m_conn.setRequestProperty("Accept-Lauguage", "zh-CN,zh;q=0.8,en;q=0.6");m_conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");m_conn.setRequestProperty("Referer", "https://passport.website.net/account/login");m_conn.setRequestProperty("Connection", "keep-alive");//set cookiesm_conn.setRequestProperty("Content-Length", params.length() + "");System.out.println("send cookies...");if(m_cookies != null){String cookies = "";for(String cookie : m_cookies){cookies += ";" + cookie;}m_conn.addRequestProperty("Cookie", cookies);}m_conn.setDoOutput(true);m_conn.setDoInput(true);PrintWriter out = new PrintWriter(m_conn.getOutputStream());out.print(params);out.flush();out.close();int code = m_conn.getResponseCode();if(code == 200){BufferedReader reader = new BufferedReader(new InputStreamReader(m_conn.getInputStream()));String line;while ((line = reader.readLine()) != null)builder.append(line);reader.close();System.out.println("login successfully!");}else if(code == 302){String redictUrl = m_conn.getHeaderFields().get("Location").get(0);builder.append(redictUrl);}m_cookies = m_conn.getHeaderFields().get("Set-Cookie"); return builder.toString();}}
? ? ?4. HTTP Request

package suda.mingcai.csdn.http;import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.URL;public class HttpRequest extends HttpClient {private HttpURLConnection m_conn;@Overridepublic String getPage(String url) throws Exception{URL u = new URL(url);m_conn = (HttpURLConnection) u.openConnection();m_conn.setRequestMethod("GET");m_conn.setUseCaches(false);// set request headersm_conn.setRequestProperty("User-Agent", USER_AGENT);m_conn.setRequestProperty("Accept", ACCEPT);m_conn.setRequestProperty("Accept-Lauguage", "zh-CN,zh;q=0.8,en;q=0.6");//set cookiesif (m_cookies != null){String cookies = "";for (String cookie : m_cookies){cookies += ";" + cookie;}m_conn.addRequestProperty("Cookie", cookies);}// get responseBufferedReader reader = new BufferedReader(new InputStreamReader(m_conn.getInputStream()));StringBuffer response = new StringBuffer();String line;while ((line = reader.readLine()) != null)response.append(line);m_cookies = m_conn.getHeaderFields().get("Set-Cookie");reader.close();return response.toString();}public String sendPost(String url, String params) throws Exception{StringBuilder builder = new StringBuilder();URL u = new URL(url);m_conn = (HttpURLConnection) u.openConnection();m_conn.setUseCaches(false);m_conn.setRequestMethod("POST");m_conn.setRequestProperty("User-Agent", USER_AGENT);m_conn.setRequestProperty("Accept", ACCEPT);m_conn.setRequestProperty("Accept-Lauguage", "zh-CN,zh;q=0.8,en;q=0.6");m_conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");m_conn.setRequestProperty("Referer","https://passport.website.net/account/login");m_conn.setRequestProperty("Connection", "keep-alive");m_conn.setRequestProperty("Host", "passport.website.net");// set cookiesm_conn.setRequestProperty("Content-Length", params.length() + "");if (m_cookies != null){String cookies = "";for (String cookie : m_cookies){cookies += ";" + cookie;}m_conn.addRequestProperty("Cookie", cookies);}m_conn.setDoOutput(true);m_conn.setDoInput(true);PrintWriter out = new PrintWriter(m_conn.getOutputStream());out.print(params);out.flush();out.close();int code = m_conn.getResponseCode();if (code == 200){BufferedReader reader = new BufferedReader(new InputStreamReader(m_conn.getInputStream()));String line;while ((line = reader.readLine()) != null)builder.append(line);reader.close();}else if (code == 302){String redictUrl = m_conn.getHeaderFields().get("Location").get(0);builder.append(redictUrl);}m_cookies = m_conn.getHeaderFields().get("Set-Cookie");return builder.toString();} }

? ? ? 鑒于時間關系,不著過多介紹,實現原理不是太難,有興趣的朋友能夠直接下載源代碼。

 

轉載于:https://www.cnblogs.com/mfrbuaa/p/3962938.html

總結

以上是生活随笔為你收集整理的某站点下载资源自己主动评论器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。