`
wangqiang6028
  • 浏览: 87773 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Android HttpGet和HttpPost设置超时

阅读更多
 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();
                }
            }
        }
    };

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);
            }
        }
    };
分享到:
评论

相关推荐

    android基础 - POST GET

    在Android开发中,POST和GET是两种主要的HTTP请求方法,用于从服务器获取数据或向服务器发送数据。本文将深入探讨这两种方法的工作原理、应用场景以及如何在Android中实现它们。 一、POST与GET方法的区别 1. 工作...

    android 的OkHttp3网络的POST和GET请求

    以上就是关于Android的OkHttp3框架中GET和POST请求的基本使用方法,通过这个库,开发者可以高效、安全地进行网络通信。在实际项目中,可以根据需求进行更复杂的定制和优化,例如设置超时、重试策略等。希望这个概述...

    android利用httppost实现和服务器的通讯

    本篇主要介绍如何在Android应用中使用HttpPost实现与服务器的通信,以及涉及到的相关技术点。 首先,我们需要理解Android网络访问的基本规则。Android系统对网络操作进行了严格的限制,所有网络请求必须在主线程...

    HttpTest Get与Post示例

    本教程将深入探讨如何在Android中使用HTTP GET和POST方法进行网络请求,通过一个实际的HttpTest示例来阐述相关知识。 一、HTTP GET与POST的区别 1. GET:主要用来获取资源,它是幂等的,即多次执行同一个GET请求,...

    android http协议编程 post

    - 设置连接属性,如设置请求方法为POST,通过`setDoOutput(true)`启用输出流,设置超时时间等。 - 打开输出流,使用`DataOutputStream`写入POST数据,数据格式通常为键值对,如`key1=value1&key2=value2`。 - ...

    android使用HTTPURLconnection/get方法访问HTTP

    总结起来,Android开发者在使用`HttpURLConnection`进行HTTP GET请求时,应了解请求的建立、连接属性设置、请求执行、响应处理以及连接关闭等步骤。同时,理解Android安全策略对于正确实现网络通信至关重要。

    Android Studio发起GET网络请求

    在Android开发中,获取网络数据是常见的需求,通常我们通过HTTP协议发起GET或POST请求来实现。本教程将详细介绍如何在Android Studio中使用Java编写代码发起GET网络请求,适合初学者学习。 首先,理解GET请求的基本...

    Android-HttpClient工具类简单轻松的实现getpostput和delete请求

    首先,初始化`HttpClient`对象和`HttpGet`、`HttpPost`、`HttpPut`、`HttpDelete`等请求对象,并设置必要的请求头: ```java public class HttpClientUtil { private static final String USER_AGENT = "Mozilla/...

    android getpost url

    本文将深入探讨Android应用中如何实现GET与POST请求,并通过具体示例代码来帮助开发者更好地理解和掌握这两种HTTP请求方式。 #### GET请求 GET请求是一种用于获取资源的方法,通常用于从服务器获取数据。在Android...

    老罗Android视频开发教程 android之http协议编程代码

    在实际项目中,创建一个自己的HTTP工具类可以更好地管理和控制网络请求,包括错误处理、超时设置、缓存策略等。 "java_http_post"可能是另一个关于POST请求的实现,可能包含了不同的处理方式或者优化,比如异步请求...

    Android-基于OkHttp链式调用的网络请求库支持同步的GETPOST;异步的GETPOST;

    本文将详细解析如何利用OkHttp实现基于链式调用的同步和异步GET、POST请求。 首先,我们需要理解OkHttp的核心概念。OkHttp是一个HTTP客户端,它的设计目标是减少网络延迟,提高应用程序的性能。它通过缓存响应数据...

    Http学习之使用HttpURLConnection发送post和get请求 android

    本篇文章主要聚焦于使用`HttpURLConnection`类来发送POST和GET请求,这是Android SDK内置的一种HTTP请求方法,相较于第三方库如OkHttp或Volley,使用`HttpURLConnection`更轻量级,易于理解和控制。 首先,我们先...

    android使用Java原生httpUrlConnection进行get请求

    在Android开发中,Java的HttpURLConnection是用于网络通信的一个基础组件,它提供了HTTP协议的低级别接口,可以用来执行GET、POST以及其他HTTP方法。在这个场景下,我们将详细探讨如何使用Java原生的...

    android HTTP接口测试软件

    它允许开发者轻松地执行GET和POST请求,并且支持动态添加和删除请求参数。此外,它还具有自动格式化JSON响应的功能,这对于调试和理解返回的数据结构非常有用。 首先,让我们深入了解一下GET和POST请求。GET是最...

    android 联网请求的两种方式HttpURLConnection和HttpClient

    2. **创建HttpGet或HttpPost对象**:根据需求创建`HttpGet`或`HttpPost`,并设置URL。 3. **设置请求参数**:对于POST请求,使用`HttpEntityEnclosingRequestBase`子类如`HttpPost`,通过`setEntity()`添加请求实体...

    【Android进阶】(10)网络编程

    本篇将详细探讨Android中的网络编程,主要涉及`HttpGet`和`HttpPost`两种HTTP请求方法。 首先,我们要明白Android网络编程的基本原理。Android系统基于Java,因此它使用了Java的网络库,如`java.net`包下的Socket和...

    Android Studio调用RestfulWCF接口

    在 Android Studio 中调用 Restful WCF 接口需要使用 Java 的标准类 HttpURLConnection,该类继承自 URLConnection,提供了访问 HTTP 协议的基本功能,能够向指定网站发送 GET 请求和 POST 请求。但是,在 Android ...

    android采用post方式获取服务器数据

    3. 将键值对数组封装成UrlEncodedFormEntity,然后设置到HttpPost对象的Entity中。 4. 执行HttpPost请求,获取服务器返回的HttpResponse对象。 5. 处理服务器返回的响应。 根据给定内容,我们可以构建一个通用的...

    android的Http通信

    使用`HttpClient`,可以创建一个`HttpClient`实例,然后创建`HttpGet`或`HttpPost`对象,设置请求参数,最后通过`execute()`方法发送请求并获取响应。 3. **第三方库**: - **Volley**:Google推出的网络库,适合...

    android 客户端 和 服务器端

    通过HttpGet和HttpPost对象设置请求,然后通过HttpClient执行请求。 3. OkHttp:这是一个高效、易用的网络库,广泛应用于Android开发。OkHttpClient提供简洁的API,支持GET和POST请求,以及异步回调等功能。 三、...

Global site tag (gtag.js) - Google Analytics