一、介绍

1.SDK适用语言

SDK适用于在Java中调用service.youziku.com中的反爬虫api

2.工作流程
  

   ①用户用后端程序调用SDK,提交动态内容到有字库的反爬虫服务器
   ②服务器接收到所提交内容后,根据内容生成反爬虫策略文件
   ③服务器将所有文件上传至阿里云CDN,并返回@font-face语句和混淆后的内容
   ④内容显示时,只需要显示混淆后的内容即可,@font-face语句会让内容还原成可阅读状态

3.@font-face语句

SDK的返回值主要内容是@font-face语句,@font-face语句是CSS3中的一个功能模块,是所有浏览器天然支持的CSS语句。它的作用是将一个远程字体文件加载到当前页面,并且定义成一个字体,前端页面能够像使用本地字体一样使用该字体。@font-face语句是实现反爬虫的核心代码。

4. 显示字体效果

用户将返回的@font-face与返回的混淆内容一起存放数据库,当需要显示内容时,将混淆内容内容输出到前端,同时,将@font-face语句以

二、环境

1)jar包方式引用

1.jdk1.6.0_31及以上
2.依赖:
   commons-httpclient-3.0.1
   commons-logging-1.0.3
   commons-codec-1.2
   fastjson-1.2.5

3.sdk下载
2)maven方式(推荐)

   	<dependency>
	   <groupId>com.github.youziku</groupId>
           <artifactId>youziku.service-plus.sdk</artifactId>
           <version>1.0.0</version>
	</dependency>

三、引用

四、Sample

1.初始化YouzikuServicePlusClient实例,在全局配置一遍即可

public static final IYouzikuServicePlusClient YouzikuClient = new YouzikuServicePlusClient("xxxxxx");//xxxxxx为用户的apikey

2.调用接口

2.1.处理全部文本-所有格式

      RamSortUnicodeApiOption option = new RamSortUnicodeApiOption();
      //处理汉字
      option.setRanChinese(true);
      //处理字母
      option.setRanEnglish(true);
      //处理数字
      option.setRanNumber(true);
      
      RamUnicodeItemResult fontFaceResult= YouzikuClient
		 .getFontFace(new RamUnicodeFontApiParam(
		 "xxx", "有字库,让中文跃上云端!",
		 "#id-1", false,option));

2.2.处理全部文本-WOFF

      RamSortUnicodeApiOption option = new RamSortUnicodeApiOption();
      //处理汉字
      option.setRanChinese(true);
      //处理字母
      option.setRanEnglish(true);
      //处理数字
      option.setRanNumber(true);
      
      RamUnicodeItemResult wofffontFaceResult = YouzikuClient
		 .getWoffFontFace(new RamUnicodeFontApiParam(
		 "xxx",
		 "有字库,让中文跃上云端!",
		 ".class-1",false,option));

2.3.处理指定文本-所有格式

      RamSortUnicodeApiOption option = new RamSortUnicodeApiOption();
      //处理汉字
      option.setRanChinese(true);
      //处理字母
      option.setRanEnglish(true);
      //处理数字
      option.setRanNumber(true);
      
       RamUnicodeItemResult fontFaceResult= YouzikuClient
		 .getScopeFontFace(new RamUnicodeScopeFontApiParam(
		 "xxx","有字库,让中文跃上云端!",
		 ".class-2", false,option,"有字库"));

2.4.处理指定文本-WOFF

     RamSortUnicodeApiOption option = new RamSortUnicodeApiOption();
      //处理汉字
      option.setRanChinese(true);
      //处理字母
      option.setRanEnglish(true);
      //处理数字
      option.setRanNumber(true);
      
     RamUnicodeItemResult wofffontFaceResult = YouzikuClient
		 .getScopeWoffFontFace(new RamUnicodeScopeFontApiParam(
		 "xxx","有字库,让中文跃上云端!",
		 "#id-2",false,option,"有字库"));