精华内容
下载资源
问答
  • Java通过URL获取公众号文章生成HTML

    千次阅读 多人点赞 2019-12-28 14:26:47
    说明:通过公众号URL获取内容,文字可以正常显示,但是图片存在跨域访问的问题,微信不允许跨域访问公众号图片,所以需要将公众号图片从存入本地后,再上传至OSS,然后把HTML中的图片全部替换为自己的OSS地址就...

    说明:通过公众号URL获取的内容,文字可以正常显示,但是图片存在跨域访问的问题,微信不允许跨域访问公众号图片,所以需要将公众号图片从存入本地后,再上传至OSS,然后把HTML中的图片全部替换为自己的OSS地址就可以了

    这里就需要在后台对HTML进行DOM的解析,需要用的Jsoup

    <dependency>
    			<groupId>com.aliyun.oss</groupId>
    			<artifactId>aliyun-sdk-oss</artifactId>
    			<version>2.2.3</version>
    
    		</dependency>
    		<dependency>
    		    <groupId>org.jsoup</groupId>
    		    <artifactId>jsoup</artifactId>
    		    <version>1.9.2</version>
    		</dependency>

    controller

    package com.iueang.controller;
    
    import java.io.File;
    import java.util.HashMap;
    import java.util.Map;
    
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import com.iueang.util.DownLoadImg;
    import com.iueang.util.GetBody;
    import com.iueang.util.OssUtil2;
    import com.iueang.util.UrlUtil;
    @Controller
    public class TestUrl {
    	
    	@RequestMapping("tohtml")
    	public String tohtml() {
    		return "html/index.html";
    	}
    	@RequestMapping("getHtml")
    	@ResponseBody
    	public Map<String,String> getHtml(String url){
    		//获取url文章生成文本
    		String html = UrlUtil.getAccess(url);
    		String reg = "<html>(.*?)</html>";
    		String head=GetBody.getSubUtilSimple(html, reg);
    		String HTTPHOST="http://yueang2.oss-cn-qingdao.aliyuncs.com/testimg/";
    		String newsBody=head;
    		Document doc = Jsoup.parse(newsBody);
    	      Elements pngs = doc.select("img[data-src]");
    	      System.out.println(pngs);
    	      for (Element element : pngs) {
    	    	 //获取图片地址
    	        String imgUrl = element.attr("data-src");
    	        //下载图片到本地
    	        String filename=DownLoadImg.downloadPicture(imgUrl);
    			File file =new File("D:\\m2\\"+filename);
    			//上传至oss
    			Boolean flag = OssUtil2.uploadFileToOss(file, "testimg/"+filename);
    			if(flag) {
    				file.delete();
    			}
    	        String newsrc =HTTPHOST + filename;
    	         element.attr("src", newsrc);
    	      }
    	      newsBody = doc.toString();
    	      System.out.println(newsBody);
    		Map<String,String> map=new HashMap<String, String>();
    		map.put("resultHtml", newsBody);
    		return map;
    		
    	}
    }
    

    util工具类

    GetBody类

    package com.iueang.util;
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class GetBody {
    
    	public static String getSubUtilSimple(String html, String reg) {
    		 Pattern pattern = Pattern.compile(reg);// 匹配的模式
    	        Matcher m = pattern.matcher(html);
    	        while(m.find()){
    	            return m.group(1);
    	        }
    	        return "";
    	}
    
    }
    

    OssUtil类

    package com.iueang.util;
    
    import java.io.File;
    import java.util.HashMap;
    import java.util.Map;
    
    import com.aliyun.oss.OSSClient;
    import com.aliyun.oss.model.ObjectMetadata;
    
    public class OssUtil2 {	 
    	//以下几个参数值必填,参考文章最后文档
    	static String endpoint = "http://oss-cn-qingdao.aliyuncs.com";
    	static String accessKeyId = "oss获取";
    	static String accessKeySecert = "oss获取";
    	static String bucketName = "yueang2";
    	 
    	/**
    	 * 上传单个文件到OSS
    	 * @param file 要上传的文件File对象
    	 * @param objName 上传后的文件名,包含文件夹,比如 game/game/test.txt
    	 * @return
    	 */
    	public static boolean uploadFileToOss(File file, String objName) {
    	    try {
    	        OSSClient ossClient = null;
    	        try {
    	            ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecert);
    	        }catch (Exception e){
    	            e.printStackTrace();
    	        }
    	        ObjectMetadata meta = new ObjectMetadata();
    	        ossClient.putObject(bucketName, objName, file, meta);
    	        ossClient.shutdown();
    	    } catch (Exception e) {
    	        e.printStackTrace();
    	        return false;
    	    }
    	    return true;
    	}
    }

    DownLoadImg类

    package com.iueang.util;
    
    import java.io.ByteArrayOutputStream;
    import java.io.DataInputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.UUID;
    
    import sun.misc.BASE64Encoder;
    public class DownLoadImg {
    	 public static String downloadPicture(String urlList) {
    		 String filename="iueang"+UUID.randomUUID().toString()+".png";
    		 String path="D:/m2/"+filename;
             URL url = null;
             try {
                 url = new URL(urlList);
                 DataInputStream dataInputStream = new DataInputStream(url.openStream());
                 FileOutputStream fileOutputStream = new FileOutputStream(new File(path));
                 ByteArrayOutputStream output = new ByteArrayOutputStream();
    
                 byte[] buffer = new byte[1024];
                 int length;
    
                 while ((length = dataInputStream.read(buffer)) > 0) {
                     output.write(buffer, 0, length);
                 }
                 BASE64Encoder encoder = new BASE64Encoder();
                 String encode = encoder.encode(buffer);
                 fileOutputStream.write(output.toByteArray());
                 dataInputStream.close();
                 fileOutputStream.close();
             } catch (MalformedURLException e) {
                 e.printStackTrace();
             } catch (IOException e) {
                 e.printStackTrace();
             }
             System.out.println("Download返回的filname="+filename);
    		return filename;
         }
    }
    

     

    展开全文
  • 因为工作原因需要读取json文件,最先是使用url方式不符合要求...1.url方式/*** 通过网络访问json并读取文件* @param url:http://127.0.0.1:80/dashboard/dept_uuid.json* @return:json文件的内容*/public static ...

    因为工作原因需要读取json文件,最先是使用url方式不符合要求pass。又使用本地方式读取。记录一下方便后期查看。

    注:因为资料都是从网上摘抄,如有问题请告知我。

    1.url方式

    /**

    * 通过网络访问json并读取文件

    * @param url:http://127.0.0.1:80/dashboard/dept_uuid.json

    * @return:json文件的内容

    */

    public static String loadJson (String url) {

    StringBuilder json = new StringBuilder();

    try {

    URL urlObject = new URL(url);

    URLConnection uc = urlObject.openConnection();

    BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(),"UTF-8"));

    String inputLine = null;

    while ( (inputLine = in.readLine()) != null) {

    json.append(inputLine);

    }

    in.close();

    } catch (MalformedURLException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    return json.toString();

    }

    2.本地文件读取

    /**

    * 通过本地文件访问json并读取

    * @param path:E:/svn/05.Hospital/templatedept_uuid.json

    * @return:json文件的内容

    */

    public static String ReadFile(String path){

    String laststr="";

    File file=new File(path);// 打开文件

    BufferedReader reader=null;

    try{

    FileInputStream in = new FileInputStream(file);

    reader=new BufferedReader(new InputStreamReader(in,"UTF-8"));// 读取文件

    String tempString=null;

    while((tempString=reader.readLine())!=null){

    laststr=laststr+tempString;

    }

    reader.close();

    }catch(IOException e){

    e.printStackTrace();

    }finally{

    if(reader!=null){

    try{

    reader.close();

    }catch(IOException el){

    }

    }

    }

    return laststr;

    }

    时间: 2018-07-17

    展开全文
  • 因为工作原因需要读取json文件,最先是使用url方式不符合要求...1.url方式/*** 通过网络访问json并读取文件* @param url:http://127.0.0.1:80/dashboard/dept_uuid.json* @return:json文件的内容*/public static ...

    因为工作原因需要读取json文件,最先是使用url方式不符合要求pass。又使用本地方式读取。记录一下方便后期查看。

    注:因为资料都是从网上摘抄,如有问题请告知我。

    1.url方式

    /**

    * 通过网络访问json并读取文件

    * @param url:http://127.0.0.1:80/dashboard/dept_uuid.json

    * @return:json文件的内容

    */

    public static String loadJson (String url) {

    StringBuilder json = new StringBuilder();

    try {

    URL urlObject = new URL(url);

    URLConnection uc = urlObject.openConnection();

    BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(),"UTF-8"));

    String inputLine = null;

    while ( (inputLine = in.readLine()) != null) {

    json.append(inputLine);

    }

    in.close();

    } catch (MalformedURLException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    return json.toString();

    }

    2.本地文件读取

    /**

    * 通过本地文件访问json并读取

    * @param path:E:/svn/05.Hospital/templatedept_uuid.json

    * @return:json文件的内容

    */

    public static String ReadFile(String path){

    String laststr="";

    File file=new File(path);// 打开文件

    BufferedReader reader=null;

    try{

    FileInputStream in = new FileInputStream(file);

    reader=new BufferedReader(new InputStreamReader(in,"UTF-8"));// 读取文件

    String tempString=null;

    while((tempString=reader.readLine())!=null){

    laststr=laststr+tempString;

    }

    reader.close();

    }catch(IOException e){

    e.printStackTrace();

    }finally{

    if(reader!=null){

    try{

    reader.close();

    }catch(IOException el){

    }

    }

    }

    return laststr;

    }

    展开全文
  • 因为工作原因需要读取json文件,最先是使用url方式不符合要求...1.url方式/*** 通过网络访问json并读取文件* @param url:http://127.0.0.1:80/dashboard/dept_uuid.json* @return:json文件的内容*/public static ...

    因为工作原因需要读取json文件,最先是使用url方式不符合要求pass。又使用本地方式读取。记录一下方便后期查看。

    注:因为资料都是从网上摘抄,如有问题请告知我。

    1.url方式

    /**

    * 通过网络访问json并读取文件

    * @param url:http://127.0.0.1:80/dashboard/dept_uuid.json

    * @return:json文件的内容

    */

    public static String loadJson (String url) {

    StringBuilder json = new StringBuilder();

    try {

    URL urlObject = new URL(url);

    URLConnection uc = urlObject.openConnection();

    BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(),"UTF-8"));

    String inputLine = null;

    while ( (inputLine = in.readLine()) != null) {

    json.append(inputLine);

    }

    in.close();

    } catch (MalformedURLException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    return json.toString();

    }

    2.本地文件读取

    /**

    * 通过本地文件访问json并读取

    * @param path:E:/svn/05.Hospital/templatedept_uuid.json

    * @return:json文件的内容

    */

    public static String ReadFile(String path){

    String laststr="";

    File file=new File(path);// 打开文件

    BufferedReader reader=null;

    try{

    FileInputStream in = new FileInputStream(file);

    reader=new BufferedReader(new InputStreamReader(in,"UTF-8"));// 读取文件

    String tempString=null;

    while((tempString=reader.readLine())!=null){

    laststr=laststr+tempString;

    }

    reader.close();

    }catch(IOException e){

    e.printStackTrace();

    }finally{

    if(reader!=null){

    try{

    reader.close();

    }catch(IOException el){

    }

    }

    }

    return laststr;

    }

    展开全文
  • * 根据string字符串转换为URL进行访问,返回该路径内容 * @param path * @return */ public String getUrlContent(String path){ String rtn = “”; int c; try{ java.net.URL l_url = new java.net.URL(path); ...
  • 因为工作原因需要读取json文件,最先是使用url方式不符合要求...1.url方式/*** 通过网络访问json并读取文件* @param url:http://127.0.0.1:80/dashboard/dept_uuid.json* @return:json文件的内容*/public static ...
  • 通过java.net 访问相应url,过滤返回的信息,并保存到excel中 ,利用jexcel包进行EXcel文件操作,不足是jexcel中不好实现删除整行。建议以后使用java POI   import java.io.*; import java.io.File; ...
  • # Java如何获取指定URL页面所提交的内容? 代码如下,通过浏览器访问返回的是“123”,但是后台输出却是一个页面,怎么才能通过访问“http://localhost:8080/test/index.jsp”后台也返回“123”? @...
  • * 通过网络访问json并读取文件 * @param url:http://127.0.0.1:80/dashboard/dept_uuid.json * @return:json文件的内容 */ public static String loadJson (String url) { StringBuil...
  • 因为工作原因需要读取json文件,最先是使用url方式不符合要求pass。又使用本地方式读取。... * 通过网络访问json并读取文件 * @param url:http://127.0.0.1:80/dashboard/dept_uuid.json * @return:json文件...
  • 统一资源定位符URL(Uniform Resource Locator)是www客户机访问Internet时用来标识资源的名字和地址。超文本链路由统一资源定位符URL维持。URL的格式是::////其中:Method是传输协议:HOSTNAME是文档和服务器所在的...
  • 一次对接三方外呼系统的时候,在解析对方返回的通话记录的时候,其中录音返回的是一个URL地址,可以通过浏览器访问,然后跳转到一个以.mp3结尾的地址去听取录音。 三方返回的录音地址: ... 经对三方提供的URL地址请求...
  • java获取json文件内容

    千次阅读 2018-03-16 14:25:24
    * 通过网络访问json并读取文件 * @param url:http://127.0.0.1:80/dashboard/dept_uuid.json * @return:json文件的内容 */ public static String loadJson (String url) { StringBuild...
  • 访问url路径下的内容

    2019-12-03 11:44:45
    1.获取某个url路径下的内容: 如果是两个电脑之间测试,则需要两个电脑连接的是同一个网络ip地址。 package demo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;...
  • 我们在前面讲到httpclient抓取网页内容的时候 通常都是获取到页面的源代码content存入数据库。详见下文:HTTPClient模块的HttpGet和...其实很简单 我们先来看访问页面获取content的代码private static String getUrl...
  • 这里那b站做例子,pc端网页,首先访问网页获取页面源代码 - 访问获取网页源码 //CatHttp类 public String getHttpText(String Url) { // TODO Auto-generated method stub try { // 获取url url = ...
  • 回调实现客户端需要在上传 token 中设置 callbackurl 和 callbody1、callbackurl 必须是公网上可正常进行 POST 请求并能正常响应的 url,并且业务服务器返回给七牛的内容必须是 json 串.这里给一个最...
  • 标签:publicstaticvoidmain(String[]args){try{StringBufferbuffer=newStringBuffer();Stringurl="http://localhost:8080/istock/login?u=name&...System.out.println("访问地址:"+url);//发送get请求...
  • 基于 Apache HttpClient 获取提交参数并获取网页/** 提供 url,param,charset* 返回字符串内容** // 设置访问的Web站点// String path = "http://192.168.89.1/login";// 设置Http请求参数Map params = new HashMap()...
  • java解析给定url

    2013-09-23 16:20:16
    * 现在要求用Java编写一个程序,该程序访问上面的URL,并从页面中, * 提取出上图所示位置的页面信息(仅图中所要求的内容),将其内容按如下格式,输出到控制台 * GrapWeatherInfo * @author lihsh * @version ...
  • publicstaticvoidmain(String[]args){try{StringBufferbuffer=newStringBuffer();Stringurl="http://localhost:8080/istock/login?u=name&...System.out.println("访问地址:"+url);//发送get请求URL...
  • 模拟浏览器访问web,发送https请求url,为了实验需求需要获取ipv4数据包 由于不做后续的内容整理(有内部平台分析),故只要写几行代码请求发送https请求url列表中的url即可 开始使用python的urllib库的urllib....
  • 六级考试当前,复习英语之际也得利用闲暇时间再回顾一下java。 最近看了一点爬虫的知识,作为练手写一个爬虫快速获取作者的所有博文链接。 通过url爬取目标页面的内容。 利用正则表达式从爬取的内容匹配出博文...
  • 1、创建Maven项目创建的过程参考:http://blog.csdn.net/tototuzuoquan/article/details/745713742、准备日志文件url.log的内容类似: 20160321101954 http://java.toto.cn/java/course/javaeeadvanced.shtml ...
  • 基于 Apache HttpClient 获取提交参数并获取网页 /* * 提供 url,param,charset * 返回字符串内容 * * // 设置访问的Web站点 // String path = "http://192.168.89.1/login"; // 设置Http请求参数 Map ...
  • 利用Java怎么对网页数据进行获取发布时间:2021-01-22 17:00:37来源:亿速云阅读:87作者:Leah这篇文章将为大家详细讲解有关利用Java怎么对网页数据进行获取,文章内容质量较高,因此小编分享给大家做个参考,希望...
  • 4. 安卓系统下,AS IDE get post的使用方法,这个演示程序演示了如何用android java访问网页,获取网页。 访问的是我的csdn主页,见程序中 streamToString getHtml HttpURLConnection conn = (HttpURLConnection) ...
  • java 其他系统使用URL进行简易登录操作 访问方式如: http://127.0.0.1:8080/IT/index.jsp?id=TWlMeUxpQHhMU1k2TFNYdk1DUDJMQ1AwTENAMExtLzx6Y2V5cHw= TWlMeUxpQHhMU1k2TFNYdk1DUDJMQ1AwTENAMExtLzx6Y2V5cHw= 是加密...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 303
精华内容 121
关键字:

java访问url获取内容

java 订阅