package com.yimu.dlutlogin;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
public class LoginThread extends Thread implements Runnable {
private Context context;
private String loginUrl = "http://w.dlut.edu.cn/cgi-bin/srun_portal";
public LoginThread(Context con) {
this.context = con;
}
@Override
public void run() {
super.run();
HttpPost httpRequest = new HttpPost(loginUrl);
String result = null;
try {
List<NameValuePair> params = buildParams();
if (null != params) {
httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
HttpResponse httpResponse = new DefaultHttpClient()
.execute(httpRequest);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
result = EntityUtils.toString(httpResponse.getEntity());
}
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Message msg = new Message();
msg.obj = result;
((MyService) context).handler.sendMessage(msg);
if (null != result)
Log.i("LoginThread", result);
}
private List<NameValuePair> buildParams() {
List<NameValuePair> params = new ArrayList<NameValuePair>();
SharedPreferences sp = SpUtil.getSp(context);
boolean isSaved = sp.getBoolean("isSaved", false);
if (!isSaved)
return null;
params.add(new BasicNameValuePair("username", sp.getString("username", "")));
params.add(new BasicNameValuePair("password", sp.getString("password", "")));
params.add(new BasicNameValuePair("is_debug", "1"));
params.add(new BasicNameValuePair("uid", "-1"));
params.add(new BasicNameValuePair("is_pad", "1"));
params.add(new BasicNameValuePair("force", "0"));
params.add(new BasicNameValuePair("type", "1"));
params.add(new BasicNameValuePair("ac_id", "1"));
params.add(new BasicNameValuePair("pop", "0"));
params.add(new BasicNameValuePair("ac_type", "h3c"));
params.add(new BasicNameValuePair("gateway_auth", "0"));
params.add(new BasicNameValuePair("local_auth", "1"));
params.add(new BasicNameValuePair("is_ldap", "0"));
return params;
}
}