httpclient4.2.1
httpmime4.4
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importjava.util.List;
importorg.apache.http.HttpEntity;
importorg.apache.http.HttpResponse;
importorg.apache.http.NameValuePair;
importorg.apache.http.client.CookieStore;
importorg.apache.http.client.HttpClient;
importorg.apache.http.client.entity.UrlEncodedFormEntity;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.client.methods.HttpPost;
importorg.apache.http.cookie.Cookie;
importorg.apache.http.impl.client.AbstractHttpClient;
importorg.apache.http.impl.client.BasicCookieStore;
importorg.apache.http.impl.client.DefaultHttpClient;
importorg.apache.http.impl.cookie.BasicClientCookie;
importorg.apache.http.message.BasicNameValuePair;
importorg.apache.http.util.EntityUtils;
importorg.junit.Test;
publicclass
HttpClientLoginTest {
@Test
publicvoid
grabPageHTML() throwsException
{
HttpClient
httpclient = newDefaultHttpClient();
HttpGet
httpget = newHttpGet("http://www.baidu.com/");
HttpResponse
response = httpclient.execute(httpget);
HttpEntity
entity = response.getEntity();
String
html = EntityUtils.toString(entity, "GBK");
httpget.releaseConnection();
System.out.println(html);
}
@Test
publicvoid
downloadFile() throwsException
{
String
url = "http://www.lashou.com/account/captcha";
File
dir = newFile("D:\\TDDOWNLOAD");
if(!dir.exists())
{
dir.mkdirs();
}
String
destfilename = "D:\\TDDOWNLOAD\\yz.png";
HttpClient
httpclient = newDefaultHttpClient();
HttpGet
httpget = newHttpGet(url);
File
file = newFile(destfilename);
if(file.exists())
{
file.delete();
}
HttpResponse
response = httpclient.execute(httpget);
HttpEntity
entity = response.getEntity();
InputStream
in = entity.getContent();
try{
FileOutputStream
fout = newFileOutputStream(file);
intl
= -1;
byte[]
tmp = newbyte[2048];
while((l
= in.read(tmp)) != -1)
{
fout.write(tmp);
}
fout.close();
}finally{
in.close();
}
httpget.releaseConnection();
}
@Test
publicvoid
login2Lashou() throwsException
{
String
url = "http://www.lashou.com/account/captcha";
String
destfilename = "D:\\TDDOWNLOAD\\yz.png";
HttpClient
httpclient = newDefaultHttpClient();
HttpGet
httpget = newHttpGet(url);
File
file = newFile(destfilename);
if(file.exists())
{
file.delete();
}
HttpResponse
response = httpclient.execute(httpget);
HttpEntity
entity = response.getEntity();
InputStream
in = entity.getContent();
try{
FileOutputStream
fout = newFileOutputStream(file);
intl
= -1;
byte[]
tmp = newbyte[2048];
while((l
= in.read(tmp)) != -1)
{
fout.write(tmp);
}
fout.close();
}finally{
in.close();
}
httpget.releaseConnection();
BufferedReader
br = newBufferedReader(newInputStreamReader(System.in));
System.out.println("请输入下载下来的验证码中显示的数字...");
String
yan = br.readLine();
HttpPost
httppost = newHttpPost("http://www.lashou.com/account/login/");
List<NameValuePair>
params = newArrayList<NameValuePair>();
params.add(newBasicNameValuePair("user_id","testuser007"));
params.add(newBasicNameValuePair("pwd","asdfg123"));
params.add(newBasicNameValuePair("yan",
yan));
params.add(newBasicNameValuePair("save_user","on"));
params.add(newBasicNameValuePair("save_pwd","on"));
params.add(newBasicNameValuePair("sub","登录"));
httppost.setEntity(newUrlEncodedFormEntity(params));
response
= httpclient.execute(httppost);
entity
= response.getEntity();
String
postResult = EntityUtils.toString(entity, "GBK");
CookieStore
cookieStore = ((AbstractHttpClient) httpclient).getCookieStore();
List<Cookie>
cookies = ((AbstractHttpClient) httpclient)
.getCookieStore().getCookies();
for(Cookie
cookie : cookies)
System.out.println("cookie
begin***\n"
+ cookie + "\n
cookie end");
httppost.releaseConnection();
String
memberpage = "http://www.lashou.com/account/orders/";
httpget
= newHttpGet(memberpage);
response
= httpclient.execute(httpget);
entity
= response.getEntity();
String
html = EntityUtils.toString(entity, "GBK");
httpget.releaseConnection();
System.out.println(html);
}
@Test
publicvoid
testSystemIn() throwsIOException
{
BufferedReader
reader = newBufferedReader(newInputStreamReader(
System.in));
String
hello = reader.readLine();
System.out.println(hello);
}
@Test
publicvoid
testGetinfoByLoginCookie() throwsException,
IOException {
DefaultHttpClient
httpclient = newDefaultHttpClient();
CookieStore
cookieStore = newBasicCookieStore();
BasicClientCookie
cookie1 = newBasicClientCookie("ThinkID","5s4tmqem08gh091v3egoa7sqf7");
cookie1.setDomain(".lashou.com");
BasicClientCookie
cookie2 = newBasicClientCookie("city_b","2419");
cookie2.setDomain("lashou.com");
BasicClientCookie
cookie3 = newBasicClientCookie("client_key","1425104707wd157b4b24ff70adcb875a");
cookie3.setDomain("lashou.com");
BasicClientCookie
cookie4 = newBasicClientCookie("login_name2","testuser007");
cookie4.setDomain("lashou.com");
BasicClientCookie
cookie5 = newBasicClientCookie("pwd2","4c88a4062736c26572d3ec382868fa2b");
cookie5.setDomain("lashou.com");
cookieStore.addCookie(cookie1);
cookieStore.addCookie(cookie2);
cookieStore.addCookie(cookie3);
cookieStore.addCookie(cookie4);
cookieStore.addCookie(cookie5);
List<Cookie>
cookies = newArrayList<Cookie>();
httpclient.setCookieStore(cookieStore);
List<Cookie>
cookieList = httpclient.getCookieStore().getCookies();
for(inti=0;i<cookieList.size();i++){
System.out.println("cookie"+i+":"+cookieList.get(i));
}
String
memberpage = "http://www.lashou.com/account/orders/";
HttpGet
httpget = newHttpGet(memberpage);
HttpResponse
response = httpclient.execute(httpget);
HttpEntity
entity = response.getEntity();
entity
= response.getEntity();
String
html = EntityUtils.toString(entity, "GBK");
httpget.releaseConnection();
System.out.println(html);
}
}