`
wengsibo
  • 浏览: 83198 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

java获取Http数据

 
阅读更多
接口:
package com.miniracle.info.io;
/**
 * 所有获得数据的父类
 * @author laisz
 *
 */
public interface IReader {
	/**
	 *根据参数获得数据 
	 * @param str
	 * @return
	 */
	public String getData(String str);
	public String getData(String str,String sParam);
	
}



实现类:
package com.miniracle.info.io;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;

public class HTMLReader implements IReader {

	public String getData(String sUrl) {
		return getData(sUrl,"");
		
	}

	public String getData(String sUrl, String sParam) {
		// TODO Auto-generated method stub
	      StringBuffer sb = new StringBuffer();

	        try{//""
	          URL url = new URL(sUrl);

	          URLConnection urlc = url.openConnection();
	          urlc.setDoOutput(true);
	          OutputStreamWriter wr=new OutputStreamWriter(urlc.getOutputStream());
	          wr.write(sParam);
	          wr.flush();

	          InputStream is = urlc.getInputStream(); // To download

	          int allLine = 0;
	          InputStreamReader ir = new InputStreamReader(is);
	          BufferedReader br = new BufferedReader(ir);
	          String line;
	          while((line=br.readLine())!=null){
	              sb.append(line+"\r\n");
	        }
	        }catch(Exception e){
	          e.printStackTrace();
	          return e.toString();
	        }
	        return sb.toString();		
	}

}
分享到:
评论
17 楼 rainsilence 2010-12-10  
以上代码请大家谨慎模仿。。。
16 楼 rainsilence 2010-12-10  
以上代码问题多多

1)allLine是什么?没用到?
2)line并没有初始化
3)所有用到的流都没有关闭
4)urlc发送请求的时候实际上应该做判断,是否是http请求。如果是,则对其进行httpUrlConnection强转,并且设置提交方式,content-type,cache。
5)return e.toString()????大哥。。。这样写什么意思啊
6)如果读出来的是http代码,那么你append(\r\n)已经跟原来的代码不一样了
7)缩进!!!
8)如果这只是一个简单的功能函数,那么是不应该在这段代码里把exception给吃掉的。应该throw至上层

以下是功能改进建议
1.sParam不应该是String,而应该是map,但不是一般的map。是可以允许key重复的map
增加一个功能函数,实现map到string的转换,即key=value&key=value
2.如果inputstream返回的是http文本还好,如果是2进制文件,那用Reader就完蛋了
15 楼 悠游键客 2010-12-10  
对异常的处理确实存在很不合理的地方
14 楼 laofee 2010-12-10  
IOUtils.toString()可以用一下
13 楼 luciferdevil 2010-12-09  
// TODO Auto-generated method stub 
12 楼 luciferdevil 2010-12-09  
自己去写个接口做什么
11 楼 grave 2010-12-09  
居然还return e.toString(). 很不知所谓的设计
10 楼 chris_zley 2010-12-09  
看起来就是个破轮子
9 楼 ak121077313 2010-12-09  
另外 为什么很多人喜欢接口?

接口这东西 在大部分范围内 是一个很烦的设计
8 楼 ak121077313 2010-12-09  
超时、转码 这些都没有的话 你这段代码可以再压缩一半
7 楼 ansjsun 2010-12-09  
题目没错.内容没错.你的眼神错了..
6 楼 iehyou 2010-12-09  
我也觉得隐藏  另外 头像的确销魂 hehe
5 楼 wengsibo 2010-12-09  
http4j 写道
楼主,你的头像很销魂,哈哈哈哈哈哈

谢了。。
4 楼 wengsibo 2010-12-09  
zgzdzh 写道
不久这个帖子会被隐藏的

为咋呢?总有原因啊。新人不懂啊。
3 楼 zgzdzh 2010-12-09  
不久这个帖子会被隐藏的
2 楼 wengsibo 2010-12-09  
zgzdzh 写道
LZ新来的?

是新来的。。咋了?
1 楼 zgzdzh 2010-12-09  
LZ新来的?

相关推荐

    java读取metadata元信息

    Java的`java.io.File`类提供了获取文件元数据的方法,如`length()`获取文件大小,`lastModified()`获取最后修改时间,`exists()`检查文件是否存在。对于更复杂的元数据需求,可以使用NIO.2(New IO)中的`java.nio....

    Java读取串口数据并可在网页上调用

    在本项目中,我们探讨的是如何使用Java读取串口数据,并将这些数据实时地在网页上展示出来,实现动态控制。下面我们将详细讲解相关的Java串口编程知识以及网页调用的实现。 1. **Java串口编程**: - **Java COMM ...

    java 获取json网页数据

    通过以上步骤,我们就可以成功地使用Java获取并解析JSON网页数据了。在实际项目中,可能还需要处理分页、错误重试、数据缓存等问题,这需要根据具体需求进行扩展。同时,为了提高性能和灵活性,还可以考虑使用其他库...

    java获取省市县数据

    这篇博客文章“java获取省市县数据”可能讲述了如何利用Java语言来获取并处理中国各级行政区域的数据,如省、市、县。这在开发需要地域信息的应用程序,如物流系统、地图服务或者数据分析时非常有用。下面我们将深入...

    java实现连接onenet云平台,从onenet获取数据进行处理

    总结来说,要实现Java连接OneNet云平台并获取数据,你需要掌握HTTP客户端的使用、理解OneNet API、处理JSON数据以及编写相应的数据处理逻辑。通过以上步骤,你可以构建一个能够从OneNet获取并处理数据的应用。在实际...

    java远程获取数据_java工程

    这个名为"java远程获取数据_java工程"的项目可能涉及了多种技术,如Java RMI(Remote Method Invocation)、JDBC(Java Database Connectivity)用于数据库访问、或者使用HTTP/HTTPS进行RESTful API调用等。...

    天气预报数据获取java代码(风和天气、高德地图)

    你需要读取这个Excel文件,使用Java的Apache POI库或者JExcelApi来解析,获取到对应地区的编码,然后用这些编码作为查询参数。 4. **高德地图API集成** 高德地图的天气API可能需要用户的位置信息,因此可能需要...

    Java爬虫Jsoup+httpclient获取动态生成的数据

    本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据。 ### Java爬虫基础 Java爬虫是指使用Java语言编写的一类程序,这些程序...

    luqi.rar_JAVA 获取http_获取http数据

    在Java编程中,获取HTTP数据是一项基础且重要的任务,它涉及到网络编程和HTTP协议的理解。在给定的“luqi.rar”压缩包中,我们有名为“luqi.doc”的文件,很可能包含了关于如何使用Java来获取HTTP数据的具体代码示例...

    Java 读取pdf文件中的数据

    ### Java读取PDF文件中的数据 #### 知识点概览 本文将详细介绍如何使用Java语言来读取PDF文件中的文本内容。此方法简洁高效,适用于处理大量的PDF文档。主要涉及的技术栈包括Java编程基础、PDFBox库的使用以及文件I...

    java 使用socked接收chunck分块数据

    Java的Socket API提供了一个InputStream,我们可以从这个输入流中读取接收到的数据。在chunked模式下,数据被分为多个块,每个块都有一个十六进制的大小前缀,后面跟着块的实际内容,最后是一块大小为0的块表示数据...

    java获取中国各地天气获取demo

    以上就是通过Java获取中国各地天气信息的基本流程,结合数据库操作,可以实现一个实用的应用程序。对于初学者来说,这涉及到了网络编程、数据解析和数据库操作等多个Java核心概念,是一个很好的学习实践项目。

    java天气数据接口

    在IT行业中,获取和处理实时天气数据是一项常见的需求,尤其对于开发移动应用、智能设备或者数据分析项目来说。本文将深入探讨“Java天气数据接口”的相关知识点,包括如何调用气象数据接口,Java语言中的实现方式,...

    java爬取京东数据

    Java爬取京东数据是一项涉及网络爬虫技术和Java编程语言的任务,主要目的是从京东网站上抓取所需的数据。在这个过程中,我们需要了解几个关键知识点: 1. **网络爬虫基础**:网络爬虫是一种自动提取网页信息的程序...

    Java Http请求传json数据乱码问题的解决

    在Java进行HTTP请求时,通常会遇到数据传输出现乱码的问题,尤其是在使用JSON格式传输数据,且数据中包含中文字符时更为常见。在HTTP协议中,字符编码的正确处理对于数据的正确传输至关重要。以下将详细介绍在Java中...

    JAVA对PLC控制或进行对应块数据获取;zf.zip;

    最近新接了个项目,其中一个功能是要和PLC进行交互,获取PLC的块信息,网上看了很多,都没有详细的方法,下面是我自己整理的一些方法及资料,众所周知,PLC是不可以直接进行HTTP请求发送,那么常见的PLC通讯方式有...

    使用java请求json接口数据

    这里我们将深入探讨如何使用Java来获取指定接口的JSON数据,并涉及`HttpServletRquest`类的重要作用。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,...

    java获取新浪股票信息

    在IT领域,特别是Java开发中,获取实时股票信息是一项常见且重要的功能,尤其在金融、投资和数据分析等应用中。本文将深入探讨如何使用Java语言从新浪获取股票信息,包括理解数据格式、解析数据以及利用这些信息进行...

    Java天气应用程序 - 使用天气API获取实时天气数据并显示给用户

    然后,你可以读取服务器返回的响应数据。 2. **处理API响应**: - 通常,天气API会返回JSON格式的数据,包含各种天气信息,如温度、湿度、风速等。 - 要解析JSON,可以使用第三方库,如`org.json`或`...

    利用java实现从百度网站上获取搜索数据

    在Java编程环境中,从百度网站获取搜索数据是一个涉及网络爬虫和数据分析的过程。这个过程通常包括以下几个关键步骤和相关的知识点: 1. **网络请求库**:为了从网站抓取数据,你需要一个能够发送HTTP请求的库。在...

Global site tag (gtag.js) - Google Analytics