怎么获取网页上的接口--并使用
接口的具体查找方式
关于代码方面,这个是用springboot 的方法来的
@Autowired
private Environment environment; //首先注入这个环境
String name = environment.getProperty("username1");//用这个代码获取属性
拼接所用接口字符串的方法
/拼接url接口地址调用
//首先实例化一个字符缓冲区
StringBuffer stringBuffer = new StringBuffer();
//关于获取主题讨论还有内容的 url地址拼接
//再把接口需要的属性和字段一个个附加上去
stringBuffer.append(HttpUrlConstant.CHAPTER_URL)
//TODO 把这些常量存到常量类中去,后面的值放到配置文件中去
//前边这个是这个接口具体需要的key值
//后边这个是这个接口需要的value值
.append("name=").append("*****")
.append("&password=").append("****")//课程id
.append("&isdelete=").append("****") //
.append("&cpi=").append("****");
String cookieFro1 = environment.getProperty("cookieFro");//这是通过一个方法获取到这个接口或网页所需要的cookie值
String s = HttpUtils.sendHttHtml(cookieFro1 + cookie, String.valueOf(stringBuffer));
获取这个从这个接口所传的数据
//这个s是关于通过这个拼接的接口返回的数据 他是一个JOSN类型的转String类型
String s = HttpUtils.sendHttpget(cookieFro + getCookie(), String.valueOf(stringBuffer));
//把string类型转换为JSONObject类型
JSONObject jsonObject=JSON.parseObject(s);
//在转换为map类型的数组
Map map=(Map) jsonObject;
//取出转换为map类型的数组的data数组
Object data = map.get("data");
//取出从map数组拿取出来的data数据中的值
Map map1=(Map) data;
//通过key值取value值, key为“activeList”
Object data1 = map1.get("activeList");
//将Object类型转换为List<map>类型
List<Map> list2=(List<Map>)data1;
//接收要删除的activeId(活动id)
List<String> activeIdList=new ArrayList<>();
//将所有的活动信息进行循环
for (Map map2 : list2) {
String title = map2.get("title").toString();
//判断里面有这个参数
//if (title.equals("具体的字符")){ 这个equals是根据这个字段
//这个是其中包含这个字符的话
if (title.contains("具体的字符")){
//这个activity表示他包含这个字段
//获取转换为String类型的activeId,存到activeIdList中
activeIdList.add( map2.get("activeId").toString());
}
}
//拿出讨论的 id进行删除
for (String s1 : activeIdList) {
//if (!s1.equals("")){
if (s1!=null){
System.out.println(s1);
activityDelete(s1);
}
}
然后就这个我查了一下普通for循环还有增强for循环的区别
增强for循环的格式
for(数据类型 变量名 :遍历的目标){
//数据类型 变量名:声明一个变量用来接收遍历目标遍历后的元素
}
例子
//普通for循环的遍历方式
for(int i = 0 ; i<arr.length ; i++){
System.out.println("元素:"+ arr[i]);
}
//使用增强for循环实现
for(int item :arr){
System.out.println("元素:"+ item);
}
注意事项
普通for循环可以没有遍历的目标,而增强for循环一定要有遍历的目标
注意:
Map集合没有实现Iterable接口,所以map集合不能直接使用增强for循环,如果需要使用增强for循环需要借助于Collection的集合。
