请求报文通过正则表达式提取信息
请求报文:
POST /install/index.php?step=3&testdbpwd=1
Host: chidaoshop.top
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49
Connection: keep-alive
Content-Length: 95
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: http://www.chidaoshop.top
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Referer: chidaoshop.top
Cookie: s0370d8c2=7usiqtl9mkm44kc7k5k85ga6j2;
dbHost=localhost&dbUser=hpq310bd65.bt&dbPwd=fp02m9&dbName=hpq310bd65.bt@localhost&dbport=3306
正则表达表达式规则:
解析结果:
index.phpsteptestdbpwddbHostdbUserdbPwddbNamedbport
既然是前端配合JS就非常简单了,当然一句正则也是可以完成的,考虑到JS的正则不支持递归写成一句太过复杂,就拆成两句正则
var 欲查找文本 = "POST /install/index.php?step=3&testdbpwd=1\n\n \n\nHost: chidaoshop.top\n\n \n\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49\n\n \n\nConnection: keep-alive\n\n \n\nContent-Length: 95\n\n \n\nAccept: application/json, text/javascript, */*; q=0.01\n\n \n\nX-Requested-With: XMLHttpRequest\n\n \n\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\n\n \n\nOrigin: http://www.chidaoshop.top\n\n \n\nAccept-Encoding: gzip, deflate\n\n \n\nAccept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\n\n \n\nReferer: chidaoshop.top\n\n \n\nCookie: s0370d8c2=7usiqtl9mkm44kc7k5k85ga6j2;\n\n \n\ndbHost=localhost&dbUser=hpq310bd65.bt&dbPwd=fp02m9&dbName=hpq310bd65.bt@localhost&dbport=3306\n\n \n\n";
var 全文匹配规则 = /^.+\/(.+)\?([^\n]+)[\s\S]+\nCookie:.+[\s]+([^\n]+)/;
var 键匹配规则 = /[^&]+?(?==)/g;
var 结果集 = 欲查找文本.match(全文匹配规则);
var 最后一串 = 结果集[1];
var 参数键名集1 = 结果集[2].match(键匹配规则).toString().replace(/,/g,"");
var 参数键名集2 = 结果集[3].match(键匹配规则).toString().replace(/,/g,"");
var 运行结果 = 最后一串 + 参数键名集1 + 参数键名集2;
console.log(运行结果);
得出结果
index.phpsteptestdbpwddbHostdbUserdbPwddbNamedbport