1、pom文件里引入阿里云cdn依赖,很重要!!! 官方文档阿里云RefreshObjectCaches
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-cdn</artifactId> <version>3.0.10</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.1.0</version> </dependency>
2、看一下需要的参数
3、上代码
public static Result updateCdn(@NotNull List<String> path, String type) { //初始化 //CommonConstant.SMS_REGION 地区"cn-hangzhou" //CommonConstant.SMS_ACCESS_KEY_ID阿里管理员给的accessKeyId //CommonConstant.SMS_ACCESS_KEYSECRET阿里管理员给的accessSecret IClientProfile profile = DefaultProfile.getProfile(CommonConstant.SMS_REGION, CommonConstant.SMS_ACCESS_KEY_ID, CommonConstant.SMS_ACCESS_KEYSECRET); IAcsClient client = new DefaultAcsClient(profile); RefreshObjectCachesRequest request = new RefreshObjectCachesRequest(); StringBuffer sb = new StringBuffer(); //循环list里面url做处理,多个URL之间需要用换行符( )或( )分隔。 for ( int i = 0; i < path.size(); i++ ) { String n = i == (path.size() - 1) ? "" : " "; sb.append(path.get(i) + n); } request.setRegionId(CommonConstant.SMS_REGION); // 此参数为刷新的类型, 其值可以为File或Directory。默认值:File。 request.setObjectType(CommonConstant.OBJECT_TYPE_FILE); // 要刷新域名加文件拼接,多个路径用 分割(域名和资源不分开) request.setObjectPath(sb.toString()); request.setAcceptFormat(FormatType.JSON); try { RefreshObjectCachesResponse response = client.getAcsResponse(request); //处理自己的逻辑 HttpResponse httpResponse = client.doAction(request); //整个完整连接httpResponse.getUrl System.out.println(httpResponse.getUrl()); //打印出来的返回数据{"RefreshTaskId":"6616645908","RequestId":"9D464237-5833-4222-B30F-299860A89785"} System.out.println(new String(httpResponse.getHttpContent())); //状态码 System.out.println(httpResponse.getStatus()); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { //域名必须是https://www.baidu.com/格式 System.out.println("请检查输入的OBJECT_PATH输入是否正确"); } return Result.ok(); }
4.测试
public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("http://appdev.malls.com/"); Result file = updateCdn(list, "File"); } //结果 {"RefreshTaskId":"6616645908","RequestId":"9D464237-5833-4222-B30F-299860A89785"} 200