`
lzj0470
  • 浏览: 1272664 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HttpURLConnection读取html文件

    博客分类:
  • java
阅读更多

问题是---------bufferreader不管如何转化字符集读取,内容显示均为乱码;后来,使用htmlparse解析html的开源代码,发现在读取网页时没有问题 ==== trace code 发现 乱码有可能是压缩网页造成
比如是-----gzip格式的网页;所以采用以下代码读取网页是没有问题

public static void GetFromHtml() throws IOException{
//int ret=0;
String contentEncoding;
HttpURLConnection url=null;
//String htmladdr="http://www.zhcw.com/data-js/nowdata50.js";
String htmladdr="http://www.itpub.net/753054.html";
       StringBuffer buffer=new StringBuffer("");
       try {
        URL url1 = new URL(htmladdr);
        
        
        url =   (HttpURLConnection)url1.openConnection ();
        url.setRequestProperty("User-Agent", "mozlla/5.0");
        url.setRequestProperty("Accept-Encoding", "gzip, deflate");
        url.connect();
        
        
        contentEncoding=url.getContentEncoding();
        
} catch (Exception e) {
// TODO Auto-generated catch block

e.printStackTrace();
return ;
} 
if(url!=null){
InputStream stream;
if ((null != contentEncoding)
                   && (-1 != contentEncoding.indexOf ("gzip"))
            {
                   stream = new GZIPInputStream (
                     url.getInputStream ());
            }
            else if ((null != contentEncoding)
                   && (-1 != contentEncoding.indexOf ("deflate"))
            {
                   stream = new InflaterInputStream (
                      url.getInputStream ());
            }
            else
            {
                   stream = url.getInputStream ();
            }

//InputStream stream= url.getInputStream();

      BufferedReader reader =
         new BufferedReader(new InputStreamReader(stream));
      
      String temp;
          while (null != (temp = reader.readLine())) {
           //temp=new String(reader.readLine().getBytes("gbk"); 
           System.out.println(temp); 
            // break; 
          }
          reader.close();
          }
}

 

转载:http://hi.baidu.com/anypcao/blog/item/965d4443161751159213c634.html

分享到:
评论

相关推荐

    Java自带的HttpURLConnection访问接口实现文件上传

    对于POST请求,我们通常使用多部分/形式数据(Multipart/form-data)编码来传输文件,这是HTML表单上传文件的标准方式。 1. **配置连接**: 在Java中,我们首先创建HttpURLConnection实例,设置连接属性,例如设置...

    HttpURLConnection获取网页内容取得节点

    jsoup是一个Java HTML Parser。能够从URL、文件或字符串解析HTML。利用DOM traversal或CSS selectors查找和抽取数据。能够操作HTML元素,属性和文本。能够依据一个白名单过滤用户提交的内容。

    JAVA实现HTML文档读取

    在Java编程语言中,读取HTML文档主要涉及网络请求、HTML解析和DOM操作等技术。以下将详细讲解如何实现这一过程。 首先,我们需要获取HTML文档的内容。这通常通过HTTP请求来完成,Java提供了多种库来处理HTTP请求,...

    Java利用HttpURLConnection发送post请求上传文件.docx

    通过不断读取`ServletInputStream`,并将数据写入到文件,我们可以看到上传的文件和参数以特定格式存储。 以下是一些关键点: 1. **分隔符**:每个文件或参数都由一个唯一的分隔符开始,如`----------------------...

    HttpUrlConnection下载图片

    - 获取网页源码:与下载图片类似,但此时需要获取的是`getInputStream()`,然后使用`BufferedReader`读取每一行,组合成字符串。 - 加载到WebView:使用WebView的`loadDataWithBaseURL()`或`loadData()`方法,传入...

    编程实现显示URL中的Html文件

    在编程领域,构建一个能显示URL中HTML文件的简易浏览器是一项基础且实用的任务。这个任务主要涉及Java语言,因此我们将会深入探讨Java如何处理HTTP请求、解析HTML内容以及在控制台或图形用户界面(GUI)中展示这些...

    android使用jsoup 解析html文件

    - 如果HTML文件存储在网络服务器上,你可以使用`HttpURLConnection`或`OkHttp`等网络库获取HTML内容。 - 如果HTML文件在本地(如 assets 目录下),可以使用`AssetManager`读取文件内容。 2. **解析HTML内容** ...

    利用HttpURLConnection进行手机号段归属地数据采集

    - 结果数据可以写入文本文件,方便后续处理和分析。 5. **设计模式**: - 文中提到程序包含两个类:`CollectAction`负责数据采集,`Main`类负责界面构建和控制。这是一种简单的职责分离,体现了单一职责原则,...

    android获取网络图片、html代码

    1. 文件下载:可以使用java.io.File和java.io.FileOutputStream来下载文件,通过HttpURLConnection的getInputStream()方法获取网络输入流,然后写入本地文件。 2. 文件管理:遵循Android的存储权限模型,通常将下载...

    android 获取服务器上资源(图片,文本)

    以下是使用HttpURLConnection获取HTML文件和图片的基本步骤: 1. **创建网络请求**:使用`java.net.URL`创建一个URL对象,传入服务器资源的URL。然后通过`openConnection()`方法获取HttpURLConnection实例。 ```...

    让jsp编程html生成静态页面,

    本文将详细介绍一个Java程序,该程序能够将程序员编写的动态JSP页面最终生成为静态的HTML文件。 #### 关键技术与概念 1. **JSP (JavaServer Pages)**:一种基于Java的服务器端脚本技术,用于创建动态网页。JSP文件...

    安卓文件下载上传解压相关-三种文件上传方法包括单文件多文件。带进度条.rar

    对于多文件上传,通常使用Multipart方式,比如在HTML表单中常见的方式。在安卓中,我们可以使用`MultiPartEntityBuilder`或`RequestBody`(在OkHttp中)来构建请求体。每份文件作为一个单独的部分,每个部分都包含...

    java,jsp读取远程图片到本地服务器

    综上所述,"java,jsp读取远程图片到本地服务器"涉及到的技术点包括Java和JSP的基础知识、HTTP通信、文件操作、HTML解析、在线编辑器集成以及性能优化等多个方面。理解并掌握这些知识点对于开发此类应用至关重要。

    文件上传简单三端代码,学习用

    - **Java IO**:Java的I/O流API是处理文件读写的核心,可以用于读取本地文件内容并准备上传。 - **HTTP客户端库**:Java中,如Apache HttpClient或Java内置的HttpURLConnection,可以用于发起HTTP请求,将文件数据...

    读取网页源码、txt、doc、pdf

    读取网页源码通常涉及网络请求,可以使用像Java的HttpURLConnection或HttpClient这样的库。一旦获取到响应,解析源码则可以通过Jsoup这样的库实现,它能方便地提取数据并处理DOM结构。 TXT文件是最简单的文本格式,...

    实例:往服务器中读写数据

    在读取JSP文件时,我们可能需要解析返回的HTML内容,提取所需信息。这可能涉及到DOM、SAX或Jsoup等HTML解析库的使用。例如,我们可以通过解析HTML找到特定的元素或数据,以获取页面的状态或数据。 写入操作则更复杂...

    java通过url读取文件内容示例

    在Java编程中,从URL读取文件内容是常见的需求,例如获取网页的HTML源码或者下载远程资源。以下是一个详细的Java通过URL读取文件内容的示例,涵盖了两种不同的方法: ### 方法一:使用`java.net.URL`和`java.io....

    Android实现表单上传文件

    在Android开发中,当涉及到与服务器进行数据交互,特别是上传文件时,如用户注册时上传头像,我们通常会遇到一个问题:内置的`HttpURLConnection`或`HttpClient`并不直接支持表单格式的文件上传。因此,我们需要采取...

    谈谈Java利用原始HttpURLConnection发送POST数据

    为了读取服务器的响应,我们可以创建一个`BufferedReader`,从`HttpURLConnection`的`getInputStream()`获取输入流,逐行读取响应内容。通常,服务器返回的数据会被解析成JSON或XML等格式,然后在客户端进行处理。 ...

    Andriod连接URL并返回HTML源码DEMO

    如果使用Gradle,可以在build.gradle文件中添加: ```gradle dependencies { implementation 'org.jsoup:jsoup:1.14.3' } ``` 然后,使用Jsoup解析HTML源码: ```java import org.jsoup.Jsoup; import org.jsoup...

Global site tag (gtag.js) - Google Analytics