源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

FileUtils扩展readURLtoString读取url内容

  • 时间:2021-08-18 15:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:FileUtils扩展readURLtoString读取url内容
[u]复制代码[/u] 代码如下:
/**   * 因为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();  }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部