android中使用get、post和HttpClient方式与服务器交互

一:get方式请求服务器
public String byGet(){
  try {
   URL url=new URL( http://www.apkbus.com/index.jsp?id=6&username=blog);
   HttpURLConnection conn= (HttpURLConnection) url.openConnection();
   conn.setRequestMethod("GET");
   conn.setReadTimeout(5000);
   conn.setConnectTimeout(5000);
   conn.setRequestProperty(field, newValue);
   
   int code=conn.getResponseCode();
   if (code==200) {
    //请求成功
    InputStream in=conn.getInputStream();
    BufferedReader br=new BufferedReader(new InputStreamReader(in, "UTF-8"));
    StringBuffer buffer=null;
    while(br.readLine()!=null){
     buffer.append(br.readLine().trim());
    }
    return buffer.toString();
   } else {
                   return "请求失败";
   }
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
return null;
 }
二:post方式提交数据
public String byPost(){
  try {
   URL url=new URL(" http://www.apkbus.com/");
   HttpURLConnection conn= (HttpURLConnection) url.openConnection();
   conn.setRequestMethod("POST");
   conn.setReadTimeout(5000);
   conn.setConnectTimeout(5000);
   String data="username=4&id=4";
   conn.setRequestProperty("Content-Type", "");//指定请求类型
   conn.setRequestProperty("Content-Length", data.length()+"");//指定数据的大小
   conn.setDoOutput(true);//指定允许往服务器些数据
   OutputStream os=conn.getOutputStream();
   os.write(data.getBytes());//写数据
   
   int code=conn.getResponseCode();
   if (code==200) {
    //请求成功
    InputStream in=conn.getInputStream();
    BufferedReader br=new BufferedReader(new InputStreamReader(in, "UTF-8"));
    StringBuffer buffer=null;
    while(br.readLine()!=null){
     buffer.append(br.readLine().trim());
    }
    return buffer.toString();
   } else {
                   return "请求失败";
   }
   
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return null;
 }
三:使用HttpClient开源框架的GET方法
   public String byHttpClientGET(){
  try {
   //1.打开一个浏览器
   HttpClient client=new DefaultHttpClient();
   //2.输入地址
   //2.get方式输入地址
   HttpGet httpget=new HttpGet(" http://www.apkbus.com/index.jsp?id=3");
   //3.回车
   HttpResponse response=client.execute(httpget);
   int code=response.getStatusLine().getStatusCode();
   
   if (code==200) {
    //请求成功
    HttpEntity entity=response.getEntity();
    InputStream in= entity.getContent();
    BufferedReader br=new BufferedReader(new InputStreamReader(in, "UTF-8"));
    StringBuffer buffer=null;
    while(br.readLine()!=null){
     buffer.append(br.readLine().trim());
    }
    return buffer.toString();
   } else {
                   return "请求失败";
   }
   
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return null;
 }
四:使用HttpClient开源框架的POST方法
public String byHttpClientPOST(){
  try {
   //1.打开一个浏览器
   HttpClient client=new DefaultHttpClient();
   //2.输入地址
   //2.get方式输入地址
   HttpPost httpPOST=new HttpPost(" http://www.apkbus.com");
   //3.指定要提交的数据实体
   ArrayList parameters=new ArrayList<NameValuePair>();
   parameters.add(new BasicNameValuePair("username", "zhangsan"));
   httpPOST.setEntity(new UrlEncodedFormEntity(parameters, "UTF-8"));
   //4.敲回车
   HttpResponse response=client.execute(httpPOST);
   int code=response.getStatusLine().getStatusCode();
   
   if (code==200) {
    //请求成功
    HttpEntity entity=response.getEntity();
    InputStream in= entity.getContent();
    BufferedReader br=new BufferedReader(new InputStreamReader(in, "UTF-8"));
    StringBuffer buffer=null;
    while(br.readLine()!=null){
     buffer.append(br.readLine().trim());
    }
    return buffer.toString();
   } else {
                   return "请求失败";
   }
   
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return null;
 }
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值