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. 类和 Json对象
  2. ADB 实现Android(安卓)Http 代理
  3. Android(安卓)Path的使用
  4. TecentUtil 腾讯微博 android
  5. android density
  6. Android(安卓)震动功能
  7. Android(安卓)TextView SpannableString样式详解
  8. android中设置进度条读取
  9. Android中的访问权限

随机推荐

  1. Android(安卓)P的系统架构
  2. Android(安卓)中 View移动总结:ViewDragHe
  3. Android(安卓)Camera API/Camera2 API 相
  4. Android下使用TCP/IP协议实现断点上传
  5. android UI进阶之实现listview的下拉加载
  6. Android(安卓)OkHttp(一)源码出发探寻执行
  7. React-Native系列Android——Native与Jav
  8. 历年阿里巴巴面试题集,蚂蚁金服Android面
  9. Android(安卓)Framework 框架系列之 App
  10. Android(安卓)内存泄露的检查分析方法