package alex.reader.ebook.bam;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;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.client.params.HttpClientParams;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.apache.http.params.BasicHttpParams;import org.apache.http.params.HttpConnectionParams;import org.apache.http.params.HttpParams;import org.apache.http.params.HttpProtocolParams;import org.apache.http.protocol.HTTP;import org.apache.http.util.EntityUtils;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.widget.EditText;public class SimpleClient extends Activity {    private HttpParams httpParams;    private HttpClient httpClient;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.simple_client);        EditText editText = (EditText) this.findViewById(R.id.EditText01);        List<NameValuePair> params = new ArrayList<NameValuePair>();        params.add(new BasicNameValuePair("email", "firewings.r@gmail.com"));        params.add(new BasicNameValuePair("password", "954619"));        params.add(new BasicNameValuePair("remember", "1"));        params.add(new BasicNameValuePair("from", "kx"));        params.add(new BasicNameValuePair("login", "登 录"));        params.add(new BasicNameValuePair("refcode", ""));        params.add(new BasicNameValuePair("refuid", "0"));        Map params2 = new HashMap();        params2.put("hl", "zh-CN");        params2.put("source", "hp");        params2.put("q", "haha");        params2.put("aq", "f");        params2.put("aqi", "g10");        params2.put("aql", "");        params2.put("oq", "");        String url2 = "http://www.google.cn/search";        String url = "http://wap.kaixin001.com/home/";        getHttpClient();        editText.setText(doPost(url, params));        // editText.setText(doGet(url2, params2));    }    public String doGet(String url, Map params) {        /* 建立HTTPGet对象 */        String paramStr = "";        Iterator iter = params.entrySet().iterator();        while (iter.hasNext()) {            Map.Entry entry = (Map.Entry) iter.next();            Object key = entry.getKey();            Object val = entry.getValue();            paramStr += paramStr = "&" + key + "=" + val;        }        if (!paramStr.equals("")) {            paramStr = paramStr.replaceFirst("&", "?");            url += paramStr;        }        HttpGet httpRequest = new HttpGet(url);        String strResult = "doGetError";        try {            /* 发送请求并等待响应 */            HttpResponse httpResponse = httpClient.execute(httpRequest);            /* 若状态码为200 ok */            if (httpResponse.getStatusLine().getStatusCode() == 200) {                /* 读返回数据 */                strResult = EntityUtils.toString(httpResponse.getEntity());            } else {                strResult = "Error Response: "                        + httpResponse.getStatusLine().toString();            }        } catch (ClientProtocolException e) {            strResult = e.getMessage().toString();            e.printStackTrace();        } catch (IOException e) {            strResult = e.getMessage().toString();            e.printStackTrace();        } catch (Exception e) {            strResult = e.getMessage().toString();            e.printStackTrace();        }        Log.v("strResult", strResult);        return strResult;    }    public String doPost(String url, List<NameValuePair> params) {        /* 建立HTTPPost对象 */        HttpPost httpRequest = new HttpPost(url);        String strResult = "doPostError";        try {            /* 添加请求参数到请求对象 */            httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));            /* 发送请求并等待响应 */            HttpResponse httpResponse = httpClient.execute(httpRequest);            /* 若状态码为200 ok */            if (httpResponse.getStatusLine().getStatusCode() == 200) {                /* 读返回数据 */                strResult = EntityUtils.toString(httpResponse.getEntity());            } else {                strResult = "Error Response: "                        + httpResponse.getStatusLine().toString();            }        } catch (ClientProtocolException e) {            strResult = e.getMessage().toString();            e.printStackTrace();        } catch (IOException e) {            strResult = e.getMessage().toString();            e.printStackTrace();        } catch (Exception e) {            strResult = e.getMessage().toString();            e.printStackTrace();        }        Log.v("strResult", strResult);        return strResult;    }    public HttpClient getHttpClient() {        // 创建 HttpParams 以用来设置 HTTP 参数(这一部分不是必需的)        this.httpParams = new BasicHttpParams();        // 设置连接超时和 Socket 超时,以及 Socket 缓存大小        HttpConnectionParams.setConnectionTimeout(httpParams, 20 * 1000);        HttpConnectionParams.setSoTimeout(httpParams, 20 * 1000);        HttpConnectionParams.setSocketBufferSize(httpParams, 8192);        // 设置重定向,缺省为 true        HttpClientParams.setRedirecting(httpParams, true);        // 设置 user agent        String userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2) Gecko/20100115 Firefox/3.6";        HttpProtocolParams.setUserAgent(httpParams, userAgent);        // 创建一个 HttpClient 实例        // 注意 HttpClient httpClient = new HttpClient(); 是Commons HttpClient        // 中的用法,在 Android 1.5 中我们需要使用 Apache 的缺省实现 DefaultHttpClient        httpClient = new DefaultHttpClient(httpParams);        return httpClient;    }}

更多相关文章

  1. Android(安卓)TextView设置一个或多个关键字的颜色
  2. android 启动延迟加载画面
  3. Android标题栏各种设置
  4. 隐藏Android底部的虚拟按键
  5. Android(安卓)解决阿里云直播水印问题
  6. 第一个Android登录页面 | HTTP 请求验证登录 | 完整代码
  7. Android调用Webview中的js方法
  8. Android(安卓)封装http请求的工具类
  9. android 跳转到小米手机神隐模式

随机推荐

  1. Android中的AutoCompleteTextView的使用
  2. android 格式化
  3. android 关于截屏
  4. android中的两端对齐
  5. Ubuntu下adb在不到Android设备(windows的
  6. Android(安卓)SDK 下载地址
  7. Android开发中WebView与js互相调用
  8. Android中贪吃蛇游戏的学习(四)
  9. android中的两端对齐
  10. Android(安卓)获取通讯录信息