使用httpclient模擬登入
阿新 • • 發佈:2019-01-13
import
java.io.BufferedReader;
import
java.io.File;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.io.InputStream;
import
java.io.InputStreamReader;
import
java.util.ArrayList;
import
java.util.List;
import
org.apache.http.HttpEntity;
import
org.apache.http.HttpResponse;
import
org.apache.http.NameValuePair;
import
org.apache.http.client.CookieStore;
import
org.apache.http.client.HttpClient;
import
org.apache.http.client.entity.UrlEncodedFormEntity;
import
org.apache.http.client.methods.HttpGet;
import
org.apache.http.client.methods.HttpPost;
import
org.apache.http.cookie.Cookie;
import
org.apache.http.impl.client.AbstractHttpClient;
import
org.apache.http.impl.client.BasicCookieStore;
import
org.apache.http.impl.client.DefaultHttpClient;
import
org.apache.http.impl.cookie.BasicClientCookie;
import
org.apache.http.message.BasicNameValuePair;
import
org.apache.http.util.EntityUtils;
import
org.junit.Test;
public
class
HttpClientLoginTest {
@Test
// 獲取一個HTML頁面的內容,一個簡單的get應用
public
void
grabPageHTML()
throws
Exception {
HttpClient httpclient =
new
DefaultHttpClient();
HttpGet httpget =
new
HttpGet(
"http://www.baidu.com/"
);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
String html = EntityUtils.toString(entity,
"GBK"
);
// releaseConnection等同於reset,作用是重置request狀態位,為下次使用做好準備。
// 其實就是用一個HttpGet獲取多個頁面的情況下有效果;否則可以忽略此方法。
httpget.releaseConnection();
System.out.println(html);
}
// 下載一個檔案到本地(本示範中為一個驗證碼圖片)
@Test
public
void
downloadFile()
throws
Exception {
String url =
"http://www.lashou.com/account/captcha"
;
File dir =
new
File(
"D:\\TDDOWNLOAD"
);
if
(!dir.exists()) {
dir.mkdirs();
}
String destfilename =
"D:\\TDDOWNLOAD\\yz.png"
;
HttpClient httpclient =
new
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://blog.csdn.net/jiangjunshow