百度鹰眼Java接口调用增删改查实例
来源:互联网 发布:易成运营商数据分析 编辑:程序博客网 时间:2024/06/01 17:43
因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试。
刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在。
后又试了几种方法,均提示ak参数不存在。但是ak参数明明存在的,且是正确的(可能本人参数设置问题)。
百度相关ak参数不存在问题,发现还有一部分人遇到这个问题。
经过参考对应资料,终于把基础的增删改查业务调试通过。特做简单整理,既能自我总结又能分享给万一有需要的朋友。
1 import java.io.IOException; 2 import java.io.InputStream; 3 import java.io.OutputStreamWriter; 4 import java.net.URL; 5 import java.net.URLConnection; 6 import org.apache.commons.io.IOUtils; 7 8 /** 9 * ClassName: YingYanUtil 10 * @Description: 鹰眼请求工具类 11 * @author ljwang 12 * @date 2017年9月4日 13 */ 14 public class YingYanUtil { 15 16 /** 17 * 百度鹰眼服务器端Key 18 */ 19 public static final String BAIDU_YINGYAN_AK_S = "*********************"; 20 21 /** 22 * 百度鹰眼服务ID 23 */ 24 public static final String BAIDU_YINGYAN_SERVICE_ID = "***************"; 25 26 /** 27 * 百度鹰眼接口URL 28 */ 29 public static final String BAIDU_YINGYAN_URL = "http://yingyan.baidu.com/api/v3/"; 30 31 /** 32 * 百度鹰眼请求方式(POST) 33 */ 34 public static final String BAIDU_YINGYAN_REQ_POST = "POST"; 35 36 /** 37 * 百度鹰眼请求方式(GET) 38 */ 39 public static final String BAIDU_YINGYAN_REQ_GET = "GET"; 40 41 42 /** 43 * ClassName: BaiduYingyanEntity 44 * @Description: 终端管理 45 * @author ljwang 46 * @date 2017年9月4日 47 */ 48 public static class BaiduYingyanEntity { 49 /** 50 * 创建entity,并赋属性信息 51 */ 52 public static final String ADD = "entity/add"; 53 54 /** 55 * 删除entity 56 */ 57 public static final String DELETE = "entity/delete"; 58 59 /** 60 * 更新entity属性信息 61 */ 62 public static final String UPDATE = "entity/update"; 63 64 /** 65 * 检索符合条件的entity,返回entity属性信息和最新位置。可用于列出entity,也可用于批量查询多个entitiy的位置 66 */ 67 public static final String LIST = "entity/list"; 68 } 69 70 71 /** 72 * @Description: 请求鹰眼 73 * @author ljwang 74 * @date 2017年9月4日 75 */ 76 public static String yingYanReq(String urlReq, String param, String method) { 77 try { 78 //Get请求,拼装参数 79 if (BAIDU_YINGYAN_REQ_GET.equals(method)) { 80 urlReq = urlReq + "?" + param; 81 } 82 83 //创建URL对象 84 URL url = new URL(urlReq); 85 //返回一个URLConnection对象,它表示到URL所引用的远程对象的连接 86 URLConnection urlConnection = url.openConnection(); 87 88 //POST请求,写入参数 89 if (BAIDU_YINGYAN_REQ_POST.equals(method)) { 90 // 设置doOutput属性为true表示将使用此urlConnection写入数据 91 urlConnection.setDoOutput(true); 92 // 定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型 93 urlConnection.setRequestProperty("content-type", "application/x-www-form-urlencoded"); 94 // 得到请求的输出流对象 95 OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream()); 96 // 把数据写入请求的Body 97 out.write(param); 98 out.flush(); 99 out.close();100 }101 102 // 从服务器读取响应103 InputStream inputStream = urlConnection.getInputStream();104 String encoding = urlConnection.getContentEncoding();105 String result = IOUtils.toString(inputStream, encoding);106 System.out.println(result);107 return result;108 } catch (IOException e) {109 e.printStackTrace();110 return null;111 }112 } 113 114 public static void main(String[] args){115 116 /*117 * 添加entity118 */119 String urlReq = BAIDU_YINGYAN_URL + BaiduYingyanEntity.ADD;120 String param = "ak=" + BAIDU_YINGYAN_AK_S +121 "&service_id=" + BAIDU_YINGYAN_SERVICE_ID +122 "&entity_name=" + "鹰眼测试名称" +123 "&entity_desc=" + "鹰眼测试描述";124 yingYanReq(urlReq, param, BAIDU_YINGYAN_REQ_POST);125 126 /*127 * 查询entity128 */129 // String urlReq = BAIDU_YINGYAN_URL + BaiduYingyanEntity.LIST;130 // String param = "ak=" + BAIDU_YINGYAN_AK_S +131 // "&service_id=" + BAIDU_YINGYAN_SERVICE_ID + 132 // "&filter=entity_names:鹰眼测试名称";133 // yingYanReq(urlReq, param, BAIDU_YINGYAN_REQ_GET);134 135 /*136 * 修改entity137 */138 // String urlReq = BAIDU_YINGYAN_URL + BaiduYingyanEntity.UPDATE;139 // String param = "ak=" + BAIDU_YINGYAN_AK_S +140 // "&service_id=" + BAIDU_YINGYAN_SERVICE_ID +141 // "&entity_name=" + "鹰眼测试名称" +142 // "&entity_desc=" + "鹰眼修改测试";143 // yingYanReq(urlReq, param, BAIDU_YINGYAN_REQ_POST);144 145 /*146 * 删除entity147 */148 // String urlReq = BAIDU_YINGYAN_URL + BaiduYingyanEntity.DELETE;149 // String param = "ak=" + BAIDU_YINGYAN_AK_S +150 // "&service_id=" + BAIDU_YINGYAN_SERVICE_ID +151 // "&entity_name=" + "鹰眼测试名称";152 // yingYanReq(urlReq, param, BAIDU_YINGYAN_REQ_POST);153 }154 }
阅读全文
0 0
- 百度鹰眼Java接口调用增删改查实例
- JDBC增删改查实例
- 【hibernate实例】增删改查
- 增删改查单元测试实例
- DaoImpl增删改查实例
- laravel增删查改实例
- Mybatis增删改查实例
- PreparedStatement增删查改实例
- Mybatis增删改查实例
- Mybatis增删改查实例
- JAVA API调用elasticsearch实现基本增删改查
- 百度鹰眼接口实现
- JAVA增删改查代码
- java数据库 增删改查
- java properties增删改查
- Java MongoDB 增删改查
- JAVA JDBC增删查改
- java dom4j 增删改查
- pycharm快捷键
- ViewPager+FragmentTabHost
- RecycleView就一定比listView好用吗?(listView篇)
- driveManager 到datasource 数据源连接的过程演变
- SpringBoot 使用slf4j(logback)入门
- 百度鹰眼Java接口调用增删改查实例
- 接口回调
- magento 模型及程序架构与流程
- 刷题训练——PAT (Basic Level)-1021
- Linux 下常用软件安装
- Android基础入门教程:Android程序签名打包
- 如何使用Git上传项目代码到GitHub
- java生成json格式数据 和 java遍历json格式数据
- JavaScript学习总结(十四)——JavaScript编写类的扩展方法