android http请求

最近闲下来了,整理下博客,以前都是在新浪博客上面弄, 觉得有点不好用,所以打算迁移过来到CSDN上面来。对于Android 这块,我基本上算是自学过来的,所以对于能帮到大家我都会在这边持续更新,希望能帮助到大家也同时欢迎大家提出意见和问题。

好了废话就到这里,开始今天的正题,首选对于Android开发来说大家用的比较多的肯定是网络请求,这个也是基本要求,那网络请求到底是什么,该怎么写呢,好多人估计刚开始时都不知道怎么做,将我的经验分享出来,请大牛勿喷,小弟才入道。

下面是一个简单的http请求(post方式):

public class httpRequest {
    private String webConext;

    //返回请求内容
    public String getWebContext(){
        return webConext;
    }
    public void setWebContext(String webContext){
        this.webConext = webContext;
    }
    public int httpquesthttp(String url,String value){//这里接受界面传递过来的参数,
        int status=0;//状态码
        DefaultHttpClient httpClient =new DefaultHttpClient();//建立default网络请求链接
        HttpPost post = new HttpPost(url);//网络传输方式
        List<BasicNameValuePair> pairs =new ArrayList<BasicNameValuePair>();
        pairs.add(new BasicNameValuePair("key", value));//这里我们将一个key,对应一个value组装起来放到ArrayList里面去
        try {
            post.setEntity(new UrlEncodedFormEntity(pairs,"UTF_8"));//对参数进行转格式编码。
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        try { 

            //这里就是对于请求的处理
            httpClient.getParams().setIntParameter(HttpConnectionParams.SO_TIMEOUT, 60000);
            httpClient.getParams().setIntParameter(HttpConnectionParams.CONNECTION_TIMEOUT, 60000);
            HttpResponse response = httpClient.execute(post);//将请求以post方式发送出去
            int res = response.getStatusLine().getStatusCode();//获取当前的响应码
            if(res == 200){//对响应码进行处理
                HttpEntity entity = response.getEntity();
                if(entity!=null){
                    String info = EntityUtils.toString(entity,"UTF-8");//这里对接受到信息进行编码处理
                    setWebContext(info);//这里将获取到服务器返回给我们的数据 转存到WebContext中,方便其界面使用;
                    //System.out.println(info+"<====");
                    status=1;
                }
            }else if (res == 404) {
                status = 404;
            }else if (res == 500) {
                status = 500;
            }
            }  catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                status = 900;
            } catch (ConnectTimeoutException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                status = 901;
            } catch (InterruptedIOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                status = 902;
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                status = 903;
            }
           return status;
    }
}


下面就是调用方法:

                    String url = "http://www.baidu.com/";//请求的链接
                    httpRequest postRequest = new httpRequest();//调用httpRequest方法
                    postRequest.loginquesthttp(url, value);//向httpRequest传递参数
                    String contentString = postRequest.getWebContext().trim();//获取服务器接受的参数
                    System.out.println(contentString + "系统获取的消息");//进行输出调试


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值