httpclient以post方式访问服务器

      访问服务器的原理都差不多,前面的已经说过了,忘记的话再去看一遍。

    new Thread(){


public void run() {

try {

String path = "http://192.168.1.100:8080/login?";

System.out.println(path);




HttpClient client = new DefaultHttpClient();

// 指定了 post发送的请求的方式 
HttpPost post = new HttpPost(path);


//传递给 服务器 要带过去的参数 的信息 

List<NameValuePair> list = new ArrayList<NameValuePair>();

// 将 带过去 的参数 放到 一个 nameValuePair 中, 然后再 放到 一个list 中,然后再将这个list 
// 给 要带过去的数据 实体 
list.add(new BasicNameValuePair("number", number));
list.add(new BasicNameValuePair("pwd", pwd));

// 设置 带给服务器的 参数的信息
//  number=456&pwd=123

//设置 要带给服务器的 数据 实体 
post.setEntity(new UrlEncodedFormEntity(list,"UTF-8"));

//   http://192.168.1.100:8080/login

//收到的 来自于服务器端的响应的 数据
HttpResponse response = client.execute(post);
//http 的相应 分为 响应行, 响应头, 响应体 

// HTTP/1.1 200 OK
int code = response.getStatusLine().getStatusCode();

if(code==200){

InputStream in = response.getEntity().getContent();

String data = StreamTool.decodeStream(in);

Message msg = Message.obtain();
msg.what=SUCCESS;
msg.obj = data;
mHandler.sendMessage(msg);
}

} catch (Exception e) {
e.printStackTrace();
Message msg = Message.obtain();
msg.what=ERROR;
mHandler.sendMessage(msg);
}

};

}.start();


  其中调试查看发送数据是以这一的结构

httpclient以post方式访问服务器