知识大全 java读取网站内容的两种方法

Posted 内容

篇首语:赚钱之道很多,但是找不到赚钱的种子,便成不了事业家。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java读取网站内容的两种方法相关的知识,希望对你有一定的参考价值。

   HttpClient

  利用apache的虚拟客户端包获取某个地址的内容  import java io UnsupportedEncodingException;

   import java util HashSet;

   import java util Iterator;

   import java util Set;

   import java util regex Matcher;

   import java util regex Pattern;

  

   import mons ;

   import mons ;

   import mons ;

  

   public class catchMain

  

       /** *//**

        * @param args

        */

       public static void main(String[] args)

  

  

           String url = ;

           String keyword= 食 ;

           String response=createClient(url keyword);

      

  

   public static String createClient(String url String param)

           HttpClient client = new HttpClient();

           String response=null;

           String keyword=null;

           PostMethod postMethod = new PostMethod(url);

           try

               if(param!=null)

              keyword = new String(param getBytes( gb ) ISO );

           catch (UnsupportedEncodingException e )

               // TODO Auto generated catch block

               e printStackTrace();

          

  

           NameValuePair[] data = new NameValuePair( keyword keyword) ;

           // 将表单的值放入postMethod中

           postMethod setRequestBody(data);

  

           try

               int statusCode = client executeMethod(postMethod);

               response = new String(postMethod getResponseBodyAsString()

                       getBytes( ISO ) GBK );

           catch (Exception e)

  

               e printStackTrace();

          

           return response;

  

      

  

   java自带的HttpURLConnection

   public static String getPageContent(String strUrl String strPostRequest

               int maxLength)

           //读取结果网页

           StringBuffer buffer = new StringBuffer();

           System setProperty( client defaultConnectTimeout );

           System setProperty( client defaultReadTimeout );

           try

               URL newUrl = new URL(strUrl);

               HttpURLConnection hConnect = (HttpURLConnection) newUrl

                       openConnection();

               //POST方式的额外数据

               if (strPostRequest length() > )

                   hConnect setDoOutput(true);

                   OutputStreamWriter out = new OutputStreamWriter(hConnect

                           getOutputStream());

                   out write(strPostRequest);

                   out flush();

                   out close();

              

               //读取内容

               BufferedReader rd = new BufferedReader(new InputStreamReader(

                       hConnect getInputStream()));

               int ch;

               for (int length = ; (ch = rd read()) >

                       && (maxLength <= || length < maxLength); length++)

                   buffer append((char) ch);

               rd close();

               hConnect disconnect();

               return buffer toString() trim();

           catch (Exception e)

               // return 错误:读取网页失败! ;

               return null;

          

cha138/Article/program/Java/hx/201311/26339

相关参考

知识大全 Java SE6调用Java编译器的两种新方法

JavaSE6调用Java编译器的两种新方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 开发JAVA编程中字符串分割的两种方法

开发JAVA编程中字符串分割的两种方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  方法:采用

知识大全 Java获取客户端真实IP地址的两种方法

Java获取客户端真实IP地址的两种方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在JSP

知识大全 介绍java 产生随机数的两种方式

   在java中我们可以通过两种方式来获取随机数(generatingarandomnumber)一种是大家熟悉的javalangMathRandom()静态方法另一种

知识大全 java读取文件内容写入到byte数组中

  有时候我们需要将读取文件的内容到一个byte[]数组中然后对这个数组进行一些修改这时我们可以借助于ByteArrayOutputStream这个类来实现  ByteArrayOutputStrea

知识大全 java中super的两种用法

  通过用static来定义方法或成员为我们编程提供了某种便利从某种程度上可以说它类似于C语言中的全局函数和全局变量  但是并不是说有了这种便利你便可以随处使用如果那样的话你便需要认真考虑一下自己是否

知识大全 获取java线程中信息的两种方法[2]

   以上是一个多数熟悉单线程编程的人在第一反应下给出的实现方法但是该类在运行的时候输出的结果却不是期望的HelloWorld!而是Hello这是由于线程的竞争条件导致的

知识大全 获取java线程中信息的两种方法[3]

   二回调   轮询方法最大的特点是主类Main不断询问线程类是否结束这实际上大量浪费了运行时间特别是当线程特别多的时候因此如果反过来在线

知识大全 获取java线程中信息的两种方法[1]

   在进行多线程编程中比较重要也是比较困难的一个操作就是如何获取线程中的信息大多数人会采取比较常见的一种方法就是将线程中要返回的结果存储在一个字段中然后再提供一个获取方

知识大全 SE6调用编译器的两种方法[2]

Java进阶:SE6调用编译器的两种方法[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  三