`
liangoogle
  • 浏览: 278462 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 使用Java自带的HttpURLConnection 连接网络 读取返回数据

阅读更多

 

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        TextView textView = (TextView) findViewById(R.id.textView1);

        String httpUri = "http://www.baidu.com";

        String result = "";

        URL url = null;

        try {

            url = new URL(httpUri);

        } catch (MalformedURLException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        if (url != null) {

            try {

                // 使用HttpURLConnection打开连接

                HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();

                urlConn.setConnectTimeout(10000);// 10s内连不上就断开

                // 因为这个是post请求,设立需要设置为true

                // urlConn.setDoOutput(true);

                // urlConn.setDoInput(true);

                // 设置以POST方式

                // urlConn.setRequestMethod("POST");

                // Post 请求不能使用缓存

                // urlConn.setUseCaches(false);

                // urlConn.setInstanceFollowRedirects(true);

                // 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的

                // urlConn.setRequestProperty("Content-Type",

                // "application/x-www-form-urlencoded");

                // 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,

                // 要注意的是connection.getOutputStream会隐含的进行connect。

                urlConn.connect();

                // DataOutputStream流

                OutputStream outputStream = urlConn.getOutputStream();// 向服务器写入

                DataOutputStream out = new DataOutputStream(outputStream);

// DataOutputStream is objectOutputStream的子类,也可以用objectOutputStream类

                // 要上传的参数

                // String content = "name=gyf";

                // 将要上传的内容写入流中

                out.writeBytes(new String("name=gyf"));// 要是用objectOutputStream就是out.writeObject(content);//写入服务器的参数,但是放到内存中了

                // content = "&wife=" + URLEncoder.encode("lyx", "gb2312");

                // out.writeBytes(content);

                // 刷新、关闭

                out.flush();// 真正的写过去了

                out.close();

                // 获服务器取数据

                InputStream inputStream = urlConn.getInputStream();

                InputStreamReader inputStreamReader = new InputStreamReader(inputStream);

                BufferedReader reader = new BufferedReader(inputStreamReader);// 读字符串用的。

                String inputLine = null;

                // 使用循环来读取获得的数据,把数据都村到result中了

                while (((inputLine = reader.readLine()) != null)) {

                    // 我们在每一行后面加上一个"\n"来换行

                    result += inputLine + "\n";

                }

                reader.close();// 关闭输入流

                // 关闭http连接

                urlConn.disconnect();

                // 设置显示取得的内容

                if (result != null) {

                    textView.setText(result);

                }

 

                else {

                    textView.setText("读取的内容为NULL");

                }

            } catch (Exception e) {

                // TODO: handle exception

            }

        }

 

    }

分享到:
评论

相关推荐

    Android客户端抓取网络数据

    使用HttpURLConnection,你需要创建URL对象,打开连接,设置请求方法(GET、POST等),添加请求头,写入请求体(如果需要POST数据),然后读取响应。对于GET请求,数据通常在URL中以查询字符串的形式传递;POST请求...

    android客户端与服务器数据交互的Demo

    `HttpURLConnection`是Android自带的网络连接API,而`OkHttp`提供了更高效的网络请求处理,包括缓存和重试机制。 2. **构建请求参数**:根据服务器接口的要求,客户端需要构建请求参数。这可能包括GET请求的URL参数...

    HttpUrlConnection实例

    7. **解析JSON**:现在,`response`字符串包含了JSON数据,可以使用`Gson`、`Jackson`或Android自带的`org.json`库进行解析。 以上步骤提供了一个基本的框架,但实际应用中可能需要处理更多细节,如添加请求头(如`...

    关于Android网络连接登陆demo

    本示例“关于Android网络连接登录demo”着重讲解如何实现在Android客户端进行用户验证,并通过服务器返回的JSON数据进行交互。下面我们将深入探讨相关知识点。 首先,Android客户端与服务器之间的通信通常采用HTTP...

    android网络编程.pdf

    可以使用`HttpURLConnection`自带的方法来实现。 ```java // 发送带有Cookie的请求 String cookies = "key=value; expires=date"; httpURLConnection.setRequestProperty("Cookie", cookies); // 获取响应中的...

    xamarin学习笔记A15(安卓OkHttp3和HttpURLConnection)上

    1. HttpURLConnection是Android SDK自带的一个基础网络请求组件,它是Java标准库的一部分。尽管不如OkHttp3强大和高效,但在简单场景下,HttpURLConnection是一个足够用且轻量级的选择。 2. 使用HttpURLConnection...

    Android网络编程之Http通信

    Android网络编程是移动应用...无论是使用Android SDK自带的HttpURLConnection还是选择一个第三方的库,了解如何正确处理网络请求、如何优化网络通信以及如何提高应用的响应性和安全性,都是移动应用开发者必备的技能。

    android 网络接口返回值查看,检查接口

    以上就是关于在Android中检查网络接口返回值的基本步骤和关键知识点,包括使用HttpURLConnection和OkHttp进行POST请求,以及如何处理返回的网络响应。实际项目中,你可能还需要考虑网络连接的异常处理、重试策略、...

    Android第十一章使用网络技术

    首先,Android网络编程主要依赖于Java的网络库,如Socket、HttpURLConnection以及HttpClient等。在Android 6.0(API级别23)之后,官方推荐使用HttpURLConnection,因为它提供了更好的性能和可维护性。HttpClient...

    Android与JSP数据交互

    3. 发送请求并接收响应:连接服务器,发送请求,并读取服务器返回的响应数据。 4. 解析响应数据:将接收到的JSON数据解析为Java对象,如使用Gson库或手动解析。 5. 更新UI:将解析后的数据展示在Android应用的用户...

    android从网络上下载文件

    本文将深入探讨如何在Android中实现网络文件的下载,包括使用HttpURLConnection、OkHttp以及Android DownloadManager等方法。 一、HttpURLConnection下载 HttpURLConnection是Java SDK自带的一个类,用于处理HTTP...

    安卓Android源码——获取网络数据到本地并查看.zip

    1. **网络请求库**:在Android中,我们通常使用HttpURLConnection、Volley、Retrofit或OkHttp等网络请求库来获取网络数据。这些库提供了简单易用的API,可以方便地发送GET、POST等HTTP请求。本项目可能使用了其中的...

    android客户端从服务器端获取json数据并解析

    这段代码首先创建了一个`ByteArrayOutputStream`对象用于存储读取到的数据,然后通过`HttpURLConnection`打开与服务器的连接,并使用`InputStream`读取服务器返回的数据。数据被逐块读入`byte[]`数组中,直到所有...

    android 自带案例代码

    "android 自带案例代码"是官方为了教育和指导开发者而设计的一系列示例项目,它们覆盖了Android开发的多个关键领域,包括用户界面、数据存储、网络通信、多媒体处理等。下面,我们将深入探讨这些知识点。 首先,...

    android http 与服务端进行数据交换

    客户端(Android应用)向服务器发送请求,服务器根据请求返回相应的数据。HTTP请求主要包括方法(GET、POST等)、URL、请求头和请求体;响应则包含状态码、响应头和响应体。 二、Android中的HTTP通信库 1. ...

    android http get

    本文将深入探讨如何在Android应用中实现HTTP GET请求,涉及的主要知识点包括网络请求基础、Android的网络权限设置、使用HttpURLConnection和OkHttp库进行GET请求,以及处理响应数据。 首先,Android系统对网络操作...

    Android中http请求及文件读写操作方法

    使用步骤包括打开连接、设置请求方法、添加请求头、写入请求体(如果有的话)以及读取响应。以下是一个基本的GET请求示例: ```java URL url = new URL("http://example.com"); HttpURLConnection connection = ...

    android http Get 请求

    在Android中,我们通常使用HttpURLConnection或者第三方库如Volley、OkHttp来实现GET请求。 1. **使用HttpURLConnection** HttpURLConnection是Java标准库提供的网络通信接口,可以用来发送HTTP请求。以下是一个...

    Android 开发过程网络相关问题

    本篇文章将深入探讨Android网络编程的关键知识点,并结合JSON数据格式的使用,以帮助开发者理解和解决实际开发中可能遇到的问题。 首先,Android提供了几种不同的API用于处理网络请求,如HttpURLConnection、...

    Android studio开发和风天气.zip

    接收到JSON或XML格式的响应后,开发者需要使用Gson、Jackson或自带的XmlPullParser解析器解析数据。 5. **异步处理**:考虑到网络请求可能耗时较长,为避免阻塞UI,开发者会使用AsyncTask或现代的LiveData、...

Global site tag (gtag.js) - Google Analytics