当前位置: 编程技术>java/j2ee
FileUtils扩展readURLtoString读取url内容
来源: 互联网 发布时间:2014-11-01
本文导语: 代码如下:/** * 因为FileUtils不支持,所以添加个方法 String content = * FileUtils.readFileToString(FileUtils.toFile(new * URL("http://www.baidu.com"))); * * @param source * @param encoding * @return * @throws IOException */ public static String readURLToString(UR...
代码如下:
/**
* 因为FileUtils不支持,所以添加个方法 String content =
* FileUtils.readFileToString(FileUtils.toFile(new
* URL("http://www.baidu.com")));
*
* @param source
* @param encoding
* @return
* @throws IOException
*/
public static String readURLToString(URL source) throws IOException {
return readURLToString(source,null);
}
/**
* 因为FileUtils不支持,所以添加个方法
*
*
* String content = FileUtils.readFileToString(FileUtils.toFile(new URL(
* "http://www.baidu.com")), "gb2312");
*
*
* @param source
* @param encoding
* @return
* @throws IOException
*/
public static String readURLToString(URL source, String encoding)
throws IOException {
InputStream input = source.openStream();
try {
return IOUtils.toString(input, encoding);
} finally {
IOUtils.closeQuietly(input);
}
}
/**
* 读取url的内容(method为post,可指定多个参数)
* @param url
* @param encoding
* @param params map的参数(key为参数名,value为参数值)
* @return String
* @throws IOException
*/
public static String readURLToStringByPOST(URL url, String encoding,Map params)
throws IOException {
HttpURLConnection con = null;
// 构建请求参数
StringBuffer sb = new StringBuffer();
if (params != null) {
for (Entry e : params.entrySet()) {
sb.append(e.getKey());
sb.append("=");
sb.append(e.getValue());
sb.append("&");
}
if(sb.length()>0){
sb.substring(0, sb.length() - 1);
}
}
// 尝试发送请求
try {
con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream(),encoding);
if (params != null) {
osw.write(sb.toString());
}
osw.flush();
osw.close();
} catch (Exception e) {
LogFactory.getLog(FileUtils.class).error("POST("+url.toString()+")Error("+e.getMessage()+")",e);
} finally {
if (con != null) {
con.disconnect();
}
}
// 读取返回内容
StringBuffer buffer = new StringBuffer();
try {
BufferedReader br = new BufferedReader(new InputStreamReader(con
.getInputStream(),encoding));
String temp;
while ((temp = br.readLine()) != null) {
buffer.append(temp);
buffer.append("n");
}
} catch (Exception e) {
e.printStackTrace();
}
return buffer.toString();
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。