地址:https://open.cnipr.com/cnipr-api/v1/api/search/sf26/{client_id}
HTTP POST
| 参数名称 | 参数说明 | 是否必填 | 参数类型 |
|---|---|---|---|
| client_id | 应用id,如没有clientId请先接入应用,查看接入流程获取 | true | String |
| openid | 用户id,可通过 Password Grant 方式 或 Implicit Grant 方式 或 Authorization Code 方式 获取 | true | String |
| access_token | 访问令牌,可通过
Password Grant 方式 或
Implicit Grant 方式 或
Authorization Code 方式或
Refresh 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 (按字检索,默认值); 1 (按词检索); 3 (同义词检索) | false | int |
| from | 返回值起始坐标,默认为0,不能为负数。from:0表示从第1条开始取数据 | true | int |
| size | 返回数量,默认为10,最小值为1,上限为1000。size:5表示获取5条数据 | true | int |
| pidSign | 是否返回最新的pid, 建议此值传1返回最新的pid | false | Integer |
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> -- 数据详细 |