地址:https://open.cnipr.com/cnipr-api/v1/api/search/sf26/{client_id}
HTTP POST
参数名称 | 参数说明 | 是否必填 | 参数类型 |
---|---|---|---|
client_id | 应用id,如没有clientId请先接入应用,查看接入流程获取 | true | String |
openid | 用户id,可通过 Implicit Grant 方式 或 Authorization Code 方式 等两种方式获取openid | true | String |
access_token | 访问令牌,可通过
Implicit Grant 方式 或
Authorization Code 方式或
Refresh Token 方式
等三种方式获取access_token |
true | String |
exp | 表达式,例:公开(公告)号='CN101770823B' 表达式编写请查看检索帮助文档 |
true | String |
dbs | 数据库,多值用数组或使用英文逗号分隔,例:FMZL,FMSQ,WGZL,SYXX 常用检索数据库 | true | String[] |
order | 排序字段,字段前加+号表示升序,加-号表示降序。多个字段排序以逗号分隔,优先级按字段先后顺序。 使用示例:+appDate表示按申请日升序,-appDate表示按申请日降序; 使用示例:+appDate表示按申请日升序,-appDate表示按申请日降序;其他排序字段,参考Basic属性 若表达式命中总数大于30万,排序不起作用。可以重新编写表达式,缩小命中数分段获取数据。 |
false | String |
option | 检索类型,默认值:2 (按字检索)其它值含义见附录 | false | int |
from | 返回值起始坐标,默认为0,不能为负数。from:0表示从第1条开始取数据 | true | int |
size | 返回数量,默认为10,最小值为1,每次检索数量上限为1000。size:5表示获取5条数据 | true | int |
exp:名称=cdma dbs:FMZL option:2 from:1 size:10
public class SearchClientTest { String client_id = "CLIENT_ID"; String openid = "OPENID"; String access_token = "ACCESS_TOKEN"; /** * 专利号单检索接口 */ @Test public void expSerachTest() throws Exception { String url = "/v1/api/search/sf26/"+client_id; List<NameValuePair> nvps = new ArrayList<NameValuePair>(); // 提交参数及值 nvps.add(new BasicNameValuePair("openid", openid)); nvps.add(new BasicNameValuePair("access_token", access_token)); nvps.add(new BasicNameValuePair("exp", "名称=(汽车)")); nvps.add(new BasicNameValuePair("dbs", "FMZL"));//构造访问库的Set nvps.add(new BasicNameValuePair("dbs", "SYXX")); nvps.add(new BasicNameValuePair("dbs", "WGZL")); nvps.add(new BasicNameValuePair("dbs", "FMSQ")); nvps.add(new BasicNameValuePair("option", 2)); // 1按词检索,2按字检索,3同义词检索 nvps.add(new BasicNameValuePair("order", "+appDate")); nvps.add(new BasicNameValuePair("from", "0")); //from:0,表示从第1条开始取,不能为负数 nvps.add(new BasicNameValuePair("size", "10")); //size:10,表示取10条,上限为1000条,不能为负数 this.POST(url, nvps); } public void POST(String url, List<NameValuePair> nvps) throws Exception { DefaultHttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); httppost.setHeader("ContentType", "application/x-www-form-urlencoded"); // 设置表单提交编码为UTF-8 UrlEncodedFormEntity entry = new UrlEncodedFormEntity(nvps, "UTF-8"); entry.setContentType("application/x-www-form-urlencoded;charset=UTF-8"); httppost.setEntity(entry); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); String ss = EntityUtils.toString(entity, "UTF-8"); //打印返回结果 System.out.println(ss); EntityUtils.consume(entity); httpclient.getConnectionManager().shutdown(); } }
属性名称 | 属性说明 | 属性类型 |
---|---|---|
status | 状态码,0代表成功,其它值含义见附录 | long |
message | 响应的信息描述 | String |
total | 命中总数 | long |
from | 返回值起始坐标 | int |
size | 返回数量 | int |
results | 返回结果集 | List<PatentPojo> -- 数据详细 |
sectionInfos | 各个数据库的命中数量 | List<SectionInfos> -- 数据详细 |