因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试。
刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在。
后又试了几种方法,均提示ak参数不存在。但是ak参数明明存在的,且是正确的(可能本人参数设置问题)。
百度相关ak参数不存在问题,发现还有一部分人遇到这个问题。
经过参考对应资料,终于把基础的增删改查业务调试通过。特做简单整理,既能自我总结又能分享给万一有需要的朋友。

 import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import org.apache.commons.io.IOUtils; /**
* ClassName: YingYanUtil
* @Description: 鹰眼请求工具类
* @author ljwang
* @date 2017年9月4日
*/
public class YingYanUtil { /**
* 百度鹰眼服务器端Key
*/
public static final String BAIDU_YINGYAN_AK_S = "*********************"; /**
* 百度鹰眼服务ID
*/
public static final String BAIDU_YINGYAN_SERVICE_ID = "***************"; /**
* 百度鹰眼接口URL
*/
public static final String BAIDU_YINGYAN_URL = "http://yingyan.baidu.com/api/v3/"; /**
* 百度鹰眼请求方式(POST)
*/
public static final String BAIDU_YINGYAN_REQ_POST = "POST"; /**
* 百度鹰眼请求方式(GET)
*/
public static final String BAIDU_YINGYAN_REQ_GET = "GET"; /**
* ClassName: BaiduYingyanEntity
* @Description: 终端管理
* @author ljwang
* @date 2017年9月4日
*/
public static class BaiduYingyanEntity {
/**
* 创建entity,并赋属性信息
*/
public static final String ADD = "entity/add"; /**
* 删除entity
*/
public static final String DELETE = "entity/delete"; /**
* 更新entity属性信息
*/
public static final String UPDATE = "entity/update"; /**
* 检索符合条件的entity,返回entity属性信息和最新位置。可用于列出entity,也可用于批量查询多个entitiy的位置
*/
public static final String LIST = "entity/list";
} /**
* @Description: 请求鹰眼
* @author ljwang
* @date 2017年9月4日
*/
public static String yingYanReq(String urlReq, String param, String method) {
try {
//Get请求,拼装参数
if (BAIDU_YINGYAN_REQ_GET.equals(method)) {
urlReq = urlReq + "?" + param;
} //创建URL对象
URL url = new URL(urlReq);
//返回一个URLConnection对象,它表示到URL所引用的远程对象的连接
URLConnection urlConnection = url.openConnection(); //POST请求,写入参数
if (BAIDU_YINGYAN_REQ_POST.equals(method)) {
// 设置doOutput属性为true表示将使用此urlConnection写入数据
urlConnection.setDoOutput(true);
// 定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型
urlConnection.setRequestProperty("content-type", "application/x-www-form-urlencoded");
// 得到请求的输出流对象
OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream());
// 把数据写入请求的Body
out.write(param);
out.flush();
out.close();
} // 从服务器读取响应
InputStream inputStream = urlConnection.getInputStream();
String encoding = urlConnection.getContentEncoding();
String result = IOUtils.toString(inputStream, encoding);
System.out.println(result);
return result;
} catch (IOException e) {
e.printStackTrace();
return null;
}
} public static void main(String[] args){ /*
* 添加entity
*/
String urlReq = BAIDU_YINGYAN_URL + BaiduYingyanEntity.ADD;
String param = "ak=" + BAIDU_YINGYAN_AK_S +
"&service_id=" + BAIDU_YINGYAN_SERVICE_ID +
"&entity_name=" + "鹰眼测试名称" +
"&entity_desc=" + "鹰眼测试描述";
yingYanReq(urlReq, param, BAIDU_YINGYAN_REQ_POST); /*
* 查询entity
*/
// String urlReq = BAIDU_YINGYAN_URL + BaiduYingyanEntity.LIST;
// String param = "ak=" + BAIDU_YINGYAN_AK_S +
// "&service_id=" + BAIDU_YINGYAN_SERVICE_ID +
// "&filter=entity_names:鹰眼测试名称";
// yingYanReq(urlReq, param, BAIDU_YINGYAN_REQ_GET); /*
* 修改entity
*/
// String urlReq = BAIDU_YINGYAN_URL + BaiduYingyanEntity.UPDATE;
// String param = "ak=" + BAIDU_YINGYAN_AK_S +
// "&service_id=" + BAIDU_YINGYAN_SERVICE_ID +
// "&entity_name=" + "鹰眼测试名称" +
// "&entity_desc=" + "鹰眼修改测试";
// yingYanReq(urlReq, param, BAIDU_YINGYAN_REQ_POST); /*
* 删除entity
*/
// String urlReq = BAIDU_YINGYAN_URL + BaiduYingyanEntity.DELETE;
// String param = "ak=" + BAIDU_YINGYAN_AK_S +
// "&service_id=" + BAIDU_YINGYAN_SERVICE_ID +
// "&entity_name=" + "鹰眼测试名称";
// yingYanReq(urlReq, param, BAIDU_YINGYAN_REQ_POST);
}
}

百度鹰眼Java接口调用增删改查实例的更多相关文章

  1. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)

    1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  3. python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...

  4. yii2.0增删改查实例讲解

    yii2.0增删改查实例讲解一.创建数据库文件. 创建表 CREATE TABLE `resource` ( `id` int(10) NOT NULL AUTO_INCREMENT, `textur ...

  5. 基于SSM之Mybatis接口实现增删改查(CRUD)功能

    国庆已过,要安心的学习了. SSM框架以前做过基本的了解,相比于ssh它更为优秀. 现基于JAVA应用程序用Mybatis接口简单的实现CRUD功能: 基本结构: (PS:其实这个就是用的Mapper ...

  6. java DMO及增删改查代码的自动生成

    在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了 ...

  7. 【简易版】Java ArrayList(增删改查)

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: (1)动态的增加和减少元素 (2)实现了ICollectio ...

  8. Java学生信息增删改查(并没用数据库)

    一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...

  9. MongoDB(二)-- Java API 实现增删改查

    一.下载jar包 http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 二.代码实现 package com.xbq.mongo ...

随机推荐

  1. [COGS 0011] 运输问题1

    11. 运输问题1 ★★☆   输入文件:maxflowa.in   输出文件:maxflowa.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     一个工厂每天生 ...

  2. Android学习笔记-构建一个可复用的自定义BaseAdapter

    转载自http://www.runoob.com/w3cnote/android-tutorial-customer-baseadapter.html   作者:coder-pig 本节引言: 如题, ...

  3. js判断空值

    { "mDataProp": 'CreationTime', 'mRender': function (date) { if (!date && typeof (d ...

  4. Linux下栈溢出导致的core dump

    1 问题产生 前两天在干活的时候,写好的一个daemon程序,一跑就core,连main函数都进不去.从来没见过这阵势的职场新人被吓尿了,幸好不是在生产环境上测试.找来同事帮忙,看了好久也没看出问题, ...

  5. 如何开发自己的搜索帝国之ES图形化Kibana安装与使用

    在如何开发自己的搜索帝国之Elasticsearch中已经介绍安装好了ES,下面就Kibana对ES的查询监控作介绍,就是常提到的大数据日志处理组件ELK里的K. 什么是Kibana?现引用园友的一段 ...

  6. kafka在windows下的安装和配置

    博主最近在学习有关kafka的配置安装以及在spring的集成使用.但网上关于kafka的配置参考资料基本都是于linux下的配置,于是博主在整理了相关windows下kafka的配置记录在博客里.由 ...

  7. 基于 Vue 全家桶制作的移动端音乐 WebApp

  8. android四大组件学习总结以及各个组件示例(2)

    上篇博文讲解了activity.content provider,此篇博文来仔细总结service.broadcast receiver: 3. Service >什么是服务?>windo ...

  9. 【CPP】数据和C

    %f是浮点型的占位符,%f.2表示显示到小数点后两位,.2称为修饰词 变量可以在程序执行过程中变化和指定,而常量不可以. [数据类型关键字]int long short unsigned char  ...

  10. JAVA WEB主流开发工具下载集

    JAVA SEhttp://www.oracle.com/technetwor ... ownloads/index.html eclipsehttp://www.eclipse.org/downlo ...