H5W3
当前位置:H5W3 > 其他技术问题 > 正文

FileUtils扩展readURLtoString读取url内容

代码如下:
/**  * 因为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不支持,所以添加个方法  *  * <pre>  * String content = FileUtils.readFileToString(FileUtils.toFile(new URL(  *   "http://www.baidu.com")), "gb2312");  * </pre>  *  * @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<String, String> params) throws IOException {  HttpURLConnection con = null;  // 构建请求参数  StringBuffer sb = new StringBuffer();  if (params != null) {   for (Entry<String, String> 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(); }

本文地址:H5W3 » FileUtils扩展readURLtoString读取url内容

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址