需要做的:
获取如下图响应信息html页面中的
fec7f1e4-30e0-41d1-9417-bb4829be51dc 值
一.具体思路:
(1)字符串查找
indexOf()其实就是在字符串中查找其子串第一次出现的位置,如果没有找到该子串,则返回-1
四种用法:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :从结尾向左搜索,返回在此字符串中第一次出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向左搜索,返回在此字符串中第一次出现的指定子字符串的索引。
(2)字符串截取
substring() 方法返回字符串的子字符串。可以理解为字符串截取
语法
public String substring(int beginIndex)
或
public String substring(int beginIndex, int endIndex)
参数
-
beginIndex -- 起始索引(包括)。
-
endIndex -- 结束索引(不包括)。
注意:这两个参数都为int类型
返回值
子字符串。
(3)字符串替换
replace() 方法通过用 newChar 字符替换字符串中出现的所有 searchChar 字符,并返回替换后的新字符串。
语法
public String replace(char searchChar, char newChar)
参数
-
searchChar -- 原字符。
-
newChar -- 新字符。
返回值
替换后生成的新字符串。
二.代码实操
先来看响应html
响应获取
<meta name="_csrf" content="55348f4b-a6f1-4db8-bb3a-677255d987c7"/>
的55348f4b-a6f1-4db8-bb3a-677255d987c7值
具体方法如下:
public static String getCrsf(String resoust){
String a = "/>\n" +
" <meta name=\"_csrf_header\"";
int index = resoust.indexOf(a);
String str1 = resoust.substring(0,index);
System.out.println("-------------------------str1--------------------"+str1);
int index2 = str1.indexOf("_csrf\" content=\"");
String str2 = str1.substring(index2);
System.out.println("-------------------------str2--------------------"+str2);
int index3 = str2.indexOf("=\"");
String str3 = str2.substring(index3);
System.out.println("-------------------------str3--------------------"+str3);
int index4 = str3.indexOf("\"");
String str4 = str3.substring(index4);
str4=str4.substring(1);
System.out.println("-------------------------str4--------------------"+str4);
String str5=str4.replace("\"","");
System.out.println("-------------------------str5--------------------"+str5);
return str5;
}
来看下结果:
str3就是想要的结果:
哈哈哈哈------------str3-----------=a01eb715-8663-46b2-adc1-eb8d3d4906a4