`

Android获取网页数据的方法总结

 
阅读更多

本文总结了三种获取网页数据的代码,是自己在用的时候随手整理出来的。此处仅贴出函数段,不贴出import了,用的时候可以用eclipse自动import一下就行了。函数的详细用途描述请看代码中注释。调用的时候请对应函数需要的参数

//第一种
/**获取参数(ArrayList<NameValuePair> nameValuePairs,String url)后post给远程服务器
 * 将获得的返回结果(String)返回给调用者
 * 本函数适用于查询数量较少的时候
 * Chen.Zhidong
 * 2011-02-15*/
public String posturl(ArrayList<NameValuePair> nameValuePairs,String url){
    String result = "";
    String tmp= "";
    InputStream is = null;
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        is = entity.getContent();
    }catch(Exception e){
        return "Fail to establish http connection!";
    }

    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();

        tmp=sb.toString();
    }catch(Exception e){
        return "Fail to convert net stream!";
    }

    try{
        JSONArray jArray = new JSONArray(tmp);
        for(int i=0;i<jArray.length();i++){
            JSONObject json_data = jArray.getJSONObject(i);
            Iterator<?> keys=json_data.keys();
            while(keys.hasNext()){
                result += json_data.getString(keys.next().toString());
            }
        }
    }catch(JSONException e){
        return "The URL you post is wrong!";
    }

    return result;
}

//第二种
/**获取参数指定的网页代码,将其返回给调用者,由调用者对其解析
 * 返回String
 * Chen.Zhidong
 * 2011-02-15*/
public String posturl(String url){
    InputStream is = null;
    String result = "";

    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        is = entity.getContent();
    }catch(Exception e){
        return "Fail to establish http connection!"+e.toString();
    }

    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();

        result=sb.toString();
    }catch(Exception e){
        return "Fail to convert net stream!";
    }

    return result;
}

//第三种
/**获取指定地址的网页数据
 * 返回数据流
 * Chen.Zhidong
 * 2011-02-18*/
public InputStream streampost(String remote_addr){
    URL infoUrl = null;
    InputStream inStream = null;
    try {
        infoUrl = new URL(remote_addr);
        URLConnection connection = infoUrl.openConnection();
        HttpURLConnection httpConnection = (HttpURLConnection)connection;
        int responseCode = httpConnection.getResponseCode();
        if(responseCode == HttpURLConnection.HTTP_OK){
            inStream = httpConnection.getInputStream();
        }
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return inStream;
}

 

分享到:
评论

相关推荐

    Android开发简单获取网页数据

    在Android开发中,获取网页数据是一项常见的任务,无论是...总结来说,Android获取网页数据涉及网络请求、异步处理、数据解析等多个环节,根据不同的需求和场景选择合适的工具和方法,同时确保遵循最佳实践和安全规范。

    Android获取网页内容(HTTP)

    总结,实现Android获取网页内容(HTTP)涉及的主要知识点包括:Android的网络访问(HttpURLConnection)、HTML解析(Jsoup)、ListView的使用以及自定义Adapter。在实际开发中,还需要考虑网络异常处理、异步操作...

    android 获取网页,显示加载进度

    总结,实现“Android获取网页并显示加载进度”的关键步骤包括: 1. 使用`HttpClient`(或更现代的网络库)发起HTTP请求获取网页数据。 2. 通过`AsyncTask`在后台线程执行网络请求,同时在`onProgressUpdate`中更新...

    android获取html表单数据

    总结来说,要在Android中获取HTML表单数据,你需要: 1. 创建并加载WebView。 2. 启用JavaScript执行。 3. 在HTML中编写获取表单数据的JavaScript函数,并调用Android的JavaScript接口。 4. 在Android端创建一个...

    android webview中使用Java调用JavaScript方法并获取返回值

    总结一下,从Android WebView调用JavaScript方法并获取返回值的关键步骤包括: 1. 启用WebView组件的JavaScript支持。 2. 使用addJavascriptInterface()方法建立Java和JavaScript之间的通信桥梁。 3. 在Java类中...

    [转帖]通过WebView获取访问网页的源代码

    总结,本主题涉及了WebView在Android中的使用,如何获取网页源代码,以及Android项目中的一些重要配置文件的作用。对于开发者来说,理解和掌握这些知识点是构建功能丰富的Android应用所必需的。

    Android Studio获取网络JSON数据并处理的方法

    Android Studio获取网络JSON数据并处理的方法 Android Studio作为一个功能强大的集成开发环境,提供了许多实用的功能和工具来帮助开发者快速开发和测试Android应用程序。获取网络JSON数据并处理是Android开发中...

    Android WebView 实现缓存网页数据

    本篇文章将详细讲解如何利用 `WebView` 实现网页数据的缓存,使得在网络不稳定或者断开的情况下,用户仍能查看之前加载过的网页。 一、WebView缓存原理 `WebView` 的缓存机制主要分为两种:内存缓存和磁盘缓存。...

    android从网页获取天气工程

    总结来说,"android从网页获取天气工程"涵盖了Android开发的多个核心领域,包括网络请求、数据解析、异步处理、UI设计、数据存储以及安全性和测试。通过这个项目的学习,开发者可以深入理解Android应用开发的全貌,...

    Android HttpPost方式获取网页图片

    总结起来,这个简单的工程展示了如何使用HttpPost方法在Android中获取网页图片。通过理解这个过程,开发者可以扩展这些基础概念,应用于更复杂的网络操作,同时注意使用现代的网络库以提高应用的性能和安全性。

    Android WebView的使用方法总结

    本文将深入探讨Android WebView的使用方法,包括如何打开指定网页、处理页面跳转、传递数据、支持JavaScript以及优化用户体验等方面。 1. 打开指定URL网页: 要加载一个网页,首先需要实例化WebView对象并设置其...

    Android例子源码使用HttpClient获取网页html源代码.zip

    在Android开发中,有时我们需要从网络获取HTML源代码来实现某些功能,比如网页抓取、网页数据解析等。本例子提供了使用HttpClient和URLConnection两种方式来实现这个目标。这两种方法都是Android SDK内置的网络访问...

    获取网页的编码格式(含JAVA源码 )

    总结起来,获取网页编码格式是Web开发中的一个重要任务,尤其在处理多语言和国际化内容时。Java提供了丰富的库,如CharDet和CPDetector,可以帮助开发者有效地识别和处理各种编码问题。通过理解这些工具的工作原理和...

    android cookie获取和设置,webView的cookie的同步

    ### Android Cookie 获取与设置以及 WebView 的 Cookie 同步 ...同时,利用 WebView 的 Cookie 同步功能,也能保证网页加载过程中的数据一致性。这些技术的应用不仅提升了用户体验,还增强了应用的安全性和稳定性。

    Android与js交互拍照上传资料

    总结,实现“Android与js交互拍照上传资料”需要结合Android的原生功能(如启动相机、处理图片)和WebView的JavaScript接口。通过合理设计接口和安全控制,可以构建一个流畅的用户拍照上传体验。在实际开发中,还要...

    Android assets 和 res/raw 区别。读取本地网页,读取文本字体样式,读取视频。

    在Android应用开发中,`assets`和`res/raw`目录都是用来存储应用程序资源的重要部分,但它们之间存在一些关键区别。这两个目录都有各自的用途和访问方式,开发者需要根据实际需求来选择合适的存放位置。 首先,我们...

    android 使用WebView浏览网页

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。这篇博文“android 使用WebView浏览网页”可能是关于如何在Android应用中集成和使用WebView来展示网页内容...

    h5获取摄像头数据,并实时预览

    总结来说,H5获取摄像头数据并实时预览涉及到的关键知识点包括:HTML5的`&lt;video&gt;`标签,`getUserMedia()` API,WebRTC,小程序的相机接口,以及在WebView中的兼容性问题。理解并熟练掌握这些技术,能够帮助开发者...

    android webview的用法总结

    在Android开发中,WebView是一个非常重要的组件,它允许开发者在应用程序中嵌入网页内容并实现与网页的交互。WebView基于WebKit内核,它的表现与Firefox类似,因此在开发时通常会在Firefox上进行预览和测试,以确保...

    android(下)复习总结

    【Android 复习总结】 在Android开发中,掌握多媒体应用、3D图形处理、网络通信、桌面管理和传感器应用等核心知识点至关重要。以下是针对这些领域的详细阐述: ### 第一章:多媒体应用开发 #### 1. 音视频播放 在...

Global site tag (gtag.js) - Google Analytics