import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
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.entity.StringEntity;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
public class Test {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
CustomerHttpClient httpClient = new CustomerHttpClient();
String result = "";
String get = "";
String jsSource = Tools.readFile("html.html","utf-8");
String userNmae = Tools.ExcuteJs(jsSource,"encryptUname"," @qq.com");
// 获取第一次信息
get = "http://login.sina.com.cn/sso/prelogin.php?entry=weibo&callback=sinaSSOController.prelo"
+ "ginCallBack&su="
+ userNmae
+ "&rsakt=mod&checkpin=1&client=ssologin.js(v1.4.18)&_=1405321676456";
result = httpClient.get(get, null, null);
String rsakv = Tools.QuMiddle(result, "rsakv\":\"", "\",\"showp");
String middle = Tools
.QuMiddle(result, "rsakv\":\"", "\",\"showpin");
String pubKey = Tools.QuMiddle(result, "ubkey\":\"", "\",\"rsa");
String serverTime = Tools.QuMiddle(result, "ertime\":", ",\"pci");
String nonce = Tools.QuMiddle(result, "once\":\"", "\",\"pu");
String pcid = Tools.QuMiddle(result, "\"pcid\":\"", "\",\"");
String showpin = Tools.QuMiddle(result, "\"showpin\":", ",");
String password = Tools.ExcuteJs(jsSource,"encryptPassword",pubKey, serverTime, "a15 142",nonce);
// List formParams = new ArrayList();
// formParams.add(new BasicNameValuePair("entry", "weibo"));
// formParams.add(new BasicNameValuePair("gateway", "1"));
// formParams.add(new BasicNameValuePair("from", ""));
// formParams.add(new BasicNameValuePair("savestate", "7"));
// formParams.add(new BasicNameValuePair("useticket", "0"));
// formParams.add(new BasicNameValuePair("service", "miniblog"));
// formParams.add(new BasicNameValuePair("pagerefer", ""));
// formParams.add(new BasicNameValuePair("vsnf", "1"));
// formParams.add(new BasicNameValuePair("su", userNmae));
// formParams.add(new BasicNameValuePair("nonce", nonce));
// formParams.add(new BasicNameValuePair("pwencode", "rsa2"));
// formParams.add(new BasicNameValuePair("servertime", serverTime));
// formParams.add(new BasicNameValuePair("rsakv", rsakv));
// formParams.add(new BasicNameValuePair("sp", password));
// formParams.add(new BasicNameValuePair("sr", "1366*768"));
// formParams.add(new BasicNameValuePair("encoding", "UTF-8"));
// formParams.add(new BasicNameValuePair("cdult", "UTF-8"));
// formParams.add(new BasicNameValuePair("domain", "sina.com.cn"));
// formParams.add(new BasicNameValuePair("prelt", "249"));
// formParams.add(new BasicNameValuePair("returntype", "TEXT"));
// UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formParams, "UTF-8");
String post = "entry=weibo&gateway=1&from=&savestate=7&useticket=0&pagerefer=&"
+ "vsnf=1&su="
+ "ODE0NDc4MDYlNDBxcS5jb20%3d"
+ "&service=miniblog&"
+ "servertime="
+ serverTime
+ "&nonce="
+ nonce
+ "&pwencode=rsa2&rsakv="
+ rsakv
+ "&sp="
+ password
+ "&sr=1366*768&"
+ "encoding=UTF-8&cdult=3&domain=sina.com.cn&prelt=249&returntype=TEXT";
StringEntity reqEntity = new StringEntity(post);
result = httpClient.post("http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.18)", reqEntity);
String savestate = Tools.QuMiddle(result, "osavestate=", "\",\"http");
String ticket = Tools.QuMiddle(result, "ticket=", "&sso");
List<String> list = new ArrayList<String>();
list.add("Referer,http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.18)");
get =
"http://crosdom.weicaifu.com/sso/crosdom?action=login&savestate="
+ savestate
+ "&callback=sinaSSOController.doCrossDomainCallBack&"
+ "scriptId=ssoscript0&client=ssologin.js(v1.4.18)&_=1405340450375"
;
result = httpClient.get(get, list, null);
get = "http://passport.weibo.com/wbsso/login?ssosavestate="
+ savestate
+ "&url=http%3A%2F%2Fweibo.com%2Fajaxlogin.php%3Fframelogin%3D1"
+ "%26callback%3Dparent.sinaSSOController.feedBackUrlCallBack%26sudaref%3Dweibo.com&ticket="
+ ticket + "&retcode=0" ;
list = new ArrayList<String>();
list.add("Referer,http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.18)");
result = httpClient.get(get, null, null);
get = "http://passport.weibo.com/wbsso/login?ssosavestate="
+ savestate
+ "&url=http%3A%2F%2Fweibo.com%2Fajaxlogin.php%3Fframelogin%3D1"
+ "%26callback%3Dparent.sinaSSOController.feedBackUrlCallBack%26sudaref%3Dweibo.com&ticket="
+ ticket + "&retcode=0" ;
// result = httpClient.get("http://weibo.com", list, null);
result = httpClient.get("http://weibo.com", null, null);
int a = 1;
// StringEntity reqEntity = new StringEntity("entry=weibo&gateway=1&from=&savestate=7&useticket=0&pagerefer=&");
// reqEntity.setContentType("application/x-www-form-urlencoded");
// System.out.println(reqEntity.getContentEncoding());
// System.out.println(reqEntity.getContentLength());
// System.out.println(reqEntity.getContentType().toString());
// 默认是自动管理cookie的
// CustomerHttpClient httpClient = new CustomerHttpClient();
// BasicClientCookie c = new BasicClientCookie("sex","value");
// c.setDomain("localhost");
// c.setPath("/");
// c.setExpiryDate(new Date(new Date().getTime()+1000000));
// List<String> heads = new ArrayList<String>();
////heads.add("Cookie,sex=lisi; Domain=localhost; Expires=Fri 16-Jan-2043 21:48:29 GMT; Path=/");
//c.setComment("comment");
//String result = httpClient.get("http://localhost:8080/login/Login", heads);
//
//
//String result = httpClient.get("http://localhost:8080/web/MM", heads);
// result = httpClient.get("http://localhost:8080/web/MM", heads);
// //result = httpClient.get("http://localhost:8080/web/MM", null,c);
// System.out.println(result);
}
}