网络访问基础

package com.example.httpDemo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.List;

import org.apache.http.Header;
import org.apache.http.HttpEntity;
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.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {
    ImageView iv;
    Handler handler;
    protected String ID;
    protected String ID2;
    EditText et;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        iv=(ImageView) findViewById(R.id.iv);
        et=(EditText) findViewById(R.id.et01);
        handler=new Handler(){
            @Override
            public void handleMessage(Message msg) {
                if(msg.what==101){
                    Bitmap bitmap=(Bitmap) msg.obj;
                    iv.setImageBitmap(bitmap);
                }else if(msg.what==102){
                    String result=msg.obj.toString();
                    Toast.makeText(MainActivity.this, result, 1).show();
                }else {
                    super.handleMessage(msg);
                }
            }
        };
    }

    public void onClick(View v){
        new Thread(){public void run() {
            try {
                HttpClient hClient=new DefaultHttpClient();
                HttpGet get=new HttpGet("http://172.60.20.156:8080/ems/getCode.do");
                HttpResponse resp = hClient.execute(get);

                Header header = resp.getFirstHeader("Set-Cookie");
                String value=header.getValue();
                ID = value.split(";")[0];
                HttpEntity entity = resp.getEntity();
                InputStream is=entity.getContent();
                Bitmap bitmap=BitmapFactory.decodeStream(is);
                is.close();
                Message.obtain(handler,101,bitmap).sendToTarget();

            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        };}.start();
    }
    public void onClick02(View v){
        new Thread(){public void run() {
            try {
                URL url=new URL("http://172.60.20.156:8080/ems/getCode.do");
                HttpURLConnection connection=(HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                connection.setDoInput(true);
                connection.connect();
                String valueString=connection.getHeaderField("Set-Cookie");
                ID2=valueString.split(";")[0];
                InputStream is=connection.getInputStream();
                Bitmap bitmap=BitmapFactory.decodeStream(is);
                is.close();
                Message.obtain(handler,101,bitmap).sendToTarget();

            } catch (Exception e) {
                e.printStackTrace();
            }

        };}.start();
    }
    public void regist01(View v){
        new Thread(){
            public void run() {
                try {
                    HttpClient client=new DefaultHttpClient();

                    HttpPost httpPost=new HttpPost("http://172.60.20.156:8080/ems/regist.do");

                    httpPost.setHeader("Content-Type","application/x-www-form-urlencoded");
                    List<NameValuePair> parameters=new ArrayList<NameValuePair>();
                    parameters.add(new BasicNameValuePair("loginname", "laowang"));
                    parameters.add(new BasicNameValuePair("password", "123123"));
                    parameters.add(new BasicNameValuePair("realname", "wang"));
                    parameters.add(new BasicNameValuePair("email", "wang@abc.com"));
                    HttpEntity entity=new UrlEncodedFormEntity(parameters);
                    httpPost.setEntity(entity);
                    HttpResponse resp = client.execute(httpPost);
                    HttpEntity respEntity = resp.getEntity();
                    InputStream is = respEntity.getContent();
                    BufferedReader bReader=new BufferedReader(new InputStreamReader(is));
                    String result=bReader.readLine();
                    bReader.close();
                    Message.obtain(handler, 102, result).sendToTarget();
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            };
        }.start();
    }
    public void regist02(View v){
        new Thread(){
            public void run() {
                try {
                    URL url=new URL("http://172.60.20.156:8080/ems/regist.do");
                    HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();
                    httpURLConnection.setRequestMethod("POST");
                    httpURLConnection.setDoInput(true);
                    httpURLConnection.setDoOutput(true);
                    httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                    httpURLConnection.connect();
                    OutputStream out = httpURLConnection.getOutputStream();
                    PrintWriter pWriter=new PrintWriter(out);

                    HashMap<String, String> map=new HashMap<String, String>();
                    map.put("loginname", "laozhang");
                    map.put("password", "123456");
                    map.put("realname", "zhang");
                    map.put("email", "zhang@abc.com");
                    String str=getparams(map);
                    pWriter.print(str);
                    pWriter.flush();
                    pWriter.close();

                    InputStream in=httpURLConnection.getInputStream();
                    BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(in));
                    String result = bufferedReader.readLine();
                    bufferedReader.close();
                    Message.obtain(handler, 102, result).sendToTarget();
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            };
        }.start();
    }

    protected String getparams(HashMap<String, String> map) {
        StringBuilder sBuilder=new StringBuilder();
        for(Entry<String, String> entry:map.entrySet()){
            sBuilder.append(entry.getKey());
            sBuilder.append("=");
            sBuilder.append(entry.getValue());
            sBuilder.append("&");
        }
        return sBuilder.substring(0, sBuilder.length()-1);
    }
    public void login01(View v){
        new Thread(){
            public void run() {
                try {
                    HttpClient hClient=new DefaultHttpClient();

                    HttpPost hpPost=new HttpPost("http://172.60.20.156:8080/ems/login.do");
                    hpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");
                    hpPost.setHeader("Cookie",ID);
                    List<NameValuePair> parameters=new ArrayList<NameValuePair>();
                    parameters.add(new BasicNameValuePair("loginname", "laowang"));
                    parameters.add(new BasicNameValuePair("password", "123123"));
                    parameters.add(new BasicNameValuePair("code", et.getText().toString()));
                    HttpEntity entity=new UrlEncodedFormEntity(parameters);
                    hpPost.setEntity(entity);
                    HttpResponse resp = hClient.execute(hpPost);
                    HttpEntity respentity = resp.getEntity();
                    String result=EntityUtils.toString(respentity);
                    Message.obtain(handler,102,result).sendToTarget();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            };
        }.start();
    }
    public void login02(View v){
        new Thread(){
            public void run() {
                try {
                    URL url=new URL("http://172.60.20.156:8080/ems/login.do");
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("POST");
                    connection.setDoOutput(true);
                    connection.setDoInput(true);
                    connection.setRequestProperty("Cookie", ID2);
                    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                    connection.connect();
                    OutputStream out=connection.getOutputStream();
                    PrintWriter pWriter=new PrintWriter(out);
                    String params="";
                    HashMap<String, String> map=new HashMap<String, String>();
                    map.put("loginname", "laozhang");
                    map.put("password", "123456");
                    map.put("code", et.getText().toString());
                    params=getparams(map);
                    pWriter.print(params);
                    pWriter.flush();
                    pWriter.close();
                    InputStream in = connection.getInputStream();
                    BufferedReader br=new BufferedReader(new InputStreamReader(in));
                    String result=br.readLine();
                    br.close();
                    Message.obtain(handler,102,result).sendToTarget();
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            };
        }.start();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值