zoukankan      html  css  js  c++  java
  • Android HttpGet和HttpPost设置超时

    HttpPost:

    private Runnable runnable = new Runnable() {
            @Override
            public void run() {
                String url = BaseServicesInfo.SERVER_BASE_PATH + fileName;
                HttpPost httpRequest = new HttpPost(url);
                try{
                    HttpEntity entity = new UrlEncodedFormEntity(params);
                    httpRequest.setEntity(entity);
                    HttpClient client = new DefaultHttpClient();
                    // 请求超时
                    client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
                    // 读取超时
                    client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 20000    );
                    HttpResponse response = client.execute(httpRequest);
                    if(response.getStatusLine().getStatusCode() == 200){
                        str = EntityUtils.toString(response.getEntity());
                        Message msg = new Message();
                        Bundle data = new Bundle();
                        data.putString("value", str);
                        msg.setData(data);
                        handler.sendMessage(msg);
                    }else{
                        str = String.valueOf(response.getStatusLine().getStatusCode());
                        Message msg = new Message();
                        Bundle data = new Bundle();
                        data.putString("error", str);
                        msg.setData(data);
                        handler.sendMessage(msg);
                    }
                }catch(Exception e){
                    e.printStackTrace();
                    Message msg = new Message();
                    Bundle data = new Bundle();
                    data.putString("error", str);
                    msg.setData(data);
                    handler.sendMessage(msg);
                }
            }
        };
    

      

    HttpGet:

    Runnable runnable = new Runnable() {
            @Override
            public void run() {
                HttpURLConnection conn = null;
                InputStream inputStream = null;
                try {
                    URL url = new URL(baseUrl);
                    conn = (HttpURLConnection)url.openConnection();
                    conn.setConnectTimeout(10000);
                    conn.setReadTimeout(8000);
                    conn.setDoInput(true);
                    conn.setRequestMethod("GET");
                    conn.setRequestProperty("Content-Type", "text/html");
                    conn.setRequestProperty("Accept-Charset", "utf-8");
                    conn.setRequestProperty("contentType", "utf-8");
                    inputStream = conn.getInputStream();
                    byte[] buffer = null;
                    if(conn.getResponseCode() == 200){
                        buffer = new byte[1024];
                        ByteArrayOutputStream out = new ByteArrayOutputStream();
                        int len;
                        while ((len = inputStream.read(buffer)) != -1)
                        {
                            out.write(buffer, 0, len);
                        }
                        buffer = out.toByteArray();
                    }
                    mCallback.HandleAsync(buffer);
                    SendMsg("value",buffer);
                } catch (Exception e) {
                    e.printStackTrace();
                    Log.e("sjr","Network-error");
                }
                finally{
                    try {
                        if(inputStream != null){
                            inputStream.close();
                        }
                        if(conn != null){
                            conn.disconnect();
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                        Log.e("sjr","InvokeWebServiceHelper类中释放资源出错");
                    }
                }
            }
        };
    

      

  • 相关阅读:
    WinForm界面开发之布局控件"WeifenLuo.WinFormsUI.Docking"的使用
    分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm。。。
    小议主子表INT自增主键插入记录的方法SQL server]教程
    微软工程师主讲的SqlServer2005视频教程
    11 个重要的数据库设计规则
    sql数据库设计学习---数据库设计规范化的五个要求
    YY淘宝商品数据库设计
    ASP.NET MVC的客户端验证:jQuery的验证
    ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
    UNIX标准化及实现之POSIX标准可选头文件
  • 原文地址:https://www.cnblogs.com/qq458978/p/5800137.html
Copyright © 2011-2022 走看看