国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

使用HttpClient模擬登錄 博客園

2019-11-14 21:08:01
字體:
供稿:網(wǎng)友
使用HttpClient模擬登錄 博客園

最近在做Android版的博客園客戶端,在考慮添加入登錄功能,以實(shí)現(xiàn)獲取更多的信息。

現(xiàn)在測(cè)試使用HttpClient進(jìn)行模擬登陸。

登錄頁面:http://passport.VEVb.com/login.aspx

登錄結(jié)果頁面:http://home.VEVb.com/、 http://m.survivalescaperooms.com/、……

登錄的時(shí)候要求提供用戶名和密碼,屬性分別是tbUserName 和 tbPassWord;如圖所示:

登錄成功,轉(zhuǎn)到下一個(gè)頁面時(shí),需要提供Cookies,還可以設(shè)置UA等屬性:

具體代碼:

 1 package com.arlen.login; 2  3 import org.apache.commons.httpclient.Cookie; 4 import org.apache.commons.httpclient.HttpClient; 5 import org.apache.commons.httpclient.NameValuePair; 6 import org.apache.commons.httpclient.cookie.CookiePolicy; 7 import org.apache.commons.httpclient.methods.GetMethod; 8 import org.apache.commons.httpclient.methods.PostMethod; 9 import org.apache.commons.httpclient.params.HttpMethodParams;10 11 public class ImitateLogin {12 13     public static void main(String[] args) {14         String userName = "username";15         String password = "password"16         String loginUrl = "http://passport.VEVb.com/login.aspx";17         String dataUrl = "http://home.VEVb.com/";18         HttpClientLogin(userName, password, loginUrl, dataUrl);19     }20 21     PRivate static void HttpClientLogin(String userName, String password,22             String loginUrl, String dataUrl) {23         HttpClient httpClient = new HttpClient();24         httpClient.getParams().setParameter(25                 HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8");26         PostMethod postMethod = new PostMethod(loginUrl);27 28         NameValuePair[] postData = { new NameValuePair("tbUserName", userName),29                 new NameValuePair("tbPassword", password) };30         postMethod.setRequestBody(postData);31 32         try {33 34             httpClient.getParams().setCookiePolicy(35                     CookiePolicy.BROWSER_COMPATIBILITY);36             httpClient.executeMethod(postMethod);37             Cookie[] cookies = httpClient.getState().getCookies();38             StringBuffer stringBuffer = new StringBuffer();39             for (Cookie c : cookies) {40                 stringBuffer.append(c.toString() + ";");41             }42 43             GetMethod getMethod = new GetMethod(dataUrl);44             getMethod.setRequestHeader("Cookie", stringBuffer.toString());45             postMethod.setRequestHeader("Host", "passport.VEVb.com");46             postMethod.setRequestHeader("Referer", "http://home.VEVb.com/");47             postMethod.setRequestHeader("User-Agent", "AndroidCnblogs");48             httpClient.executeMethod(getMethod);49 50             String result = getMethod.getResponseBodyAsString();51             System.out.println(result);52 53         } catch (Exception e) {54             e.printStackTrace();55         }56     }57 58 }


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤凰县| 峡江县| 扎鲁特旗| 和平区| 扶沟县| 平顶山市| 道孚县| 辽宁省| 故城县| 云龙县| 淄博市| 丰城市| 内黄县| 格尔木市| 嘉兴市| 湄潭县| 清苑县| 英德市| 商南县| 博乐市| 邢台县| 姚安县| 将乐县| 犍为县| 唐山市| 巴南区| 稻城县| 定兴县| 兴山县| 浑源县| 临泉县| 顺义区| 兴国县| 东乡族自治县| 大宁县| 奉新县| 霞浦县| 洛川县| 武平县| 社旗县| 嘉峪关市|