预览模式: 普通 | 列表
10-01
18

HttpClient4.0 学习实例 - 页面获取

zz from http://www.buaaer.com/bbs/blog.php?tid=39937


HttpClient 4.0出来不久,所以网络上面相关的实例教程不多,搜httpclient得到的大部分都是基于原 Commons HttpClient 3.1 (legacy) 包的,官网下载页面:http://hc.apache.org/downloads.cgi,如果大家看了官网说明就明白httpclient4.0是从原包分支出来独立成包的,以后原来那个包中的httpclient不会再升级,所以以后我们是用httpclient新分支,由于4.0与之前的3.1包结构以及接口等都有较大变化,所以网上搜到的实例大部分都是不适合4.0的,当然,我们可以通过那些实例去琢磨4.0的用法,我也是新手,记录下学习过程方便以后检索

本实例我们来获取抓取网页编码,内容等信息

默认情况下,服务器端会根据客户端的请求头信息来返回服务器支持的编码,像google.cn他本身支持utf-8,gb2312等编码,所以如果你在头部中不指定任何头部信息的话他默认会返回gb2312编码,而如果我们在浏览器中直接访问google.cn,通过httplook,或者firefox的firebug插件查看返回头部信息的话会发现他返回的是UTF-8编码

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 348
10-01
18

把多个空格变成一个

        String s = "http://tieba.baidu.com/f?kz=696057409       素颜★流转";

方法一:    
        s = s.replaceAll(" ", " ");
        System.out.println(s);
        String s1="";
        if(s.trim().indexOf(" ")!=-1){
           String ss[] = s.split(" ");
           for(int i=0;i<ss.length;i++){

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 282
10-01
16

使用HttpClient获取网页字符编码

使用HttpClient获取网页字符编码
使用HttpClipent取得网页内容,但不同的网页编码又不一定一样
这样在取得网页响应流的时候,就要分别处理.
一般来说,常见的网页字符集有UTF-8,iso-8859-1,GBK,GB2312几种
当然,你要是一外文高手,全球那么多语言,全搞一遍,就不止这个数目了.
这里取得网页字符集编码只考虑最常见的情况,使用的HttpClient为4.0版本
基本上是目前最新的.下面来看代码.

/**

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 788
10-01
16

使用正则表达式来判断网页

public String HtmlToTextGb2312(String inputString)
    {
              String htmlStr = inputString; //含html标签的字符串
              String textStr ="";
              Pattern p_script;
              Matcher m_script;
              Pattern p_style;
              Matcher m_style;
              Pattern p_html;

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 205
10-01
16

从http协议看无法获取网页charset的原因

connection.getContentType();

  这个需要服务器设置了 ContentType才可以,这个数据在文件头里面,而不是在文件的主体(也就是你看到的html)里面。

  所以检测页面类型需要分3步,如果这一步不行,则用下一个

  1 看header里面的ContentType,也就是你用的那个方法

  2 看 html 里面的 ContentType ,也就是解析html页面

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 206
10-01
16

HTTP的请求头

HTTP是一种请求/回应协议,用户通过客户端(比如IE)发送给网站一个请求,那么网站会返回一个相应,在发送请求信息之前,会发送一些头文件,也就是HTTP的请求头,这里我们用一个叫HTTP Analyzer的软件来截获一下我们访问网站时的HTTP头

view plaincopy to clipboardprint?
<headers>  
      <requestheaders>  
        <header>GET / HTTP/1.1</header>  
        <header>Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, */*</header>  
        <header>Accept-Language: zh-cn</header>  
        <header>User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)</header>  

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 378