当前位置:  编程技术>java/j2ee

Java 获取URL的内容

    来源: 互联网  发布时间:2014-10-17

    本文导语:  Java获取URL内容的,我这里只给出GET方式的,POST和其它方式的都是比较类似的。其技术要点就一下三点。 第一:创建HttpURLConnection 第二:打开URL,创建一个InputStream 第三:逐行(逐字节)读取,如果需要,转换编码,放入字符...

Java获取URL内容的,我这里只给出GET方式的,POST和其它方式的都是比较类似的。其技术要点就一下三点。
第一:创建HttpURLConnection
第二:打开URL,创建一个InputStream
第三:逐行(逐字节)读取,如果需要,转换编码,放入字符串。
好,一下就开始代码吧:
代码如下:

public String getUrlContent(String path){
String rtn = "";
int c;
try{
java.net.URL l_url = new java.net.URL(/tech-java/path/index.html);
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
l_connection.setRequestProperty("User-agent","Mozilla/4.0");
l_connection.connect();
InputStream l_urlStream = l_connection.getInputStream();
while (( ( c= l_urlStream.read() )!=-1)){
int all=l_urlStream.available();
byte[] b =new byte[all];
l_urlStream.read(b);
rtn+= new String(b, "UTF-8");
}
//Thread.sleep(2000);
l_urlStream.close();
}catch(Exception e){
e.printStackTrace();
}
return rtn;
}

其中
l_connection.setRequestProperty("User-agent","Mozilla/4.0");
这句是必须的,很多服务器对于没有User-agent头的请求直接403了就。
然后采用InputStream.available()来一次性读取,返回此输入流方法的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数,如果需要的话,可以在后面稍微Sleep一下线程:
Thread.sleep(2000);
其中的
代码如下:

while (( ( c= l_urlStream.read() )!=-1)){
int all=l_urlStream.available();
byte[] b =new byte[all];
l_urlStream.read(b);
rtn+= new String(b, "UTF-8");
}

是个很重要的读取过程,c表示读取流的标注,当结束的时候是-1,然后all是本次循环可用的最大字节数目,然后读取全部可用字节到byte[] b中,然后转换成UTF-8类型的字符串,注意,这里可以自己写方式,如果读取GB2312,就要写GB2312,至于有没有万能的,可以获取Meta,匹配下。自己想办法吧。

    
 
 

您可能感兴趣的文章:

  • java Servlet获取和设置cookie实例代码
  • java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径
  • java获取时间的方法总结
  • ***在线等待!!!***Java中怎样获取,应用图片?
  • 听说Java有获取硬件信息的类,那位知道是什么?
  • 如何获取Java 文件 编译时打印在控制台的错误信息.
  • 在java中如何获取window中环境变量path的值!!!高分
  • java获取日期的方法
  • 怎样在JAVA里实现获取指定服务器上所有可用数据库的列表??
  • 在执行java程序时,如何获取当前.class文件的路径
  • unix环境如何通过shell或java获取windows机器上的csv文件?
  • 菜鸟问题:如何让jsp来获取与之关联的java 数据(赚分了)
  • hp_ux下如何使用java获取top信息
  • java从输入流中获取数据并返回字节数组示例
  • java获取当前日期使用实例
  • java 获取项目文件路径实现方法
  • java正则表达式获取url的host示例
  • java 如何获取对象实例的大小
  • 在java中如何用URL类访问一个网页,并获取返回值????
  • java字符串比较获取字符串出现次数的示例
  • 请问用java通过pop3协议如何获取信件内容.
  • java 中能不能在文件前面添加些内容?不覆盖原内容!
  • Java菜鸟想学Java,请高手指教!(内有内容)
  • Java中,给已存在的文件添加内容,但不覆盖文件原有内容,该如何操作
  • Java内容网站开发框架 Jease
  • Java 网络编程有些什么内容?
  • Java 内容管理系统 OpenWGA
  • Java内容库存取 Shotoku
  • Java内容管理系统 dotCMS
  • 万分火急!怎样将Jsp页面的内容(主要是查询出的表的内容)传递给一个Java类?
  • java自动根据文件内容的编码来读取避免乱码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.net类url的类成员方法: url定义及介绍
  • 请问怎么用Java实现一个URL的遍历??急!!!!
  • java命名空间java.net类urlconnection的类成员方法: url定义及介绍
  • Java中 URL实现断点下载
  • java命名空间java.net类url的类成员方法: getdefaultport定义及介绍
  • http+ssl=https java URL类不支持。
  • java命名空间java.net类url的类成员方法: getprotocol定义及介绍
  • Java的URL重写过滤器 UrlRewriteFilter
  • java命名空间java.net类url的类成员方法: samefile定义及介绍
  • unknown object java.net.URL
  • java命名空间java.net类url的类成员方法: touri定义及介绍
  • java中使用URL类,读取服务器上的文件返回的中文为什么是乱码?
  • java命名空间javax.print类docflavor.url的类成员方法: gif定义及介绍
  • java servlet如何把URL转化成系统的绝对目录?
  • java命名空间javax.print类docflavor.url的类成员方法: postscript定义及介绍
  • java的URL类支持多少protocol?能支持windows的callto吗?
  • java命名空间javax.print类docflavor.url的类成员方法: pdf定义及介绍
  • 谁有完整的java在linux下读excel的完整下载包URL,例子,文档,很急!!!!多少分都行
  • java命名空间javax.print类docflavor.url的类成员方法: jpeg定义及介绍
  • java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)
  • java命名空间javax.print类docflavor.url的类成员方法: png定义及介绍
  • java 页面url传值中文乱码的解决方法
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3