声明:原作在这里https://blog.csdn.net/weixin_51668421/article/details/126854281
原作大哥写的很详细,环境的安装配置都有,但是大哥没有写遇到的问题,我这里补充一下。
环境问题
windows环境
电脑系统是windows10,这个应该都很普遍了,win7没试过,不知道行不行。
Python环境
Python版本建议使用3.9,因为我用的是3.9.13成功的,开始用的3.11版本的Python,会在安装ddddocr 报错版本不匹配。
ddddocr问题
ddddocr安装
按照博主的方法安装ddddocr如果有vpn最好用vpn,没有的话普通网络有几率失败,网上也有人用国内的路径的,可以试试,我是用的vpn,不用太慢了。
安装的过程中如果报错版本问题建议安装3.10以下的Python,可以参考这https://blog.csdn.net/kunhe0512/article/details/124993478
验证码识别问题
验证码读取出来是ddddocr
博主原脚本
//请求接口
pm.sendRequest("http://127.0.0.1:8188/pub/user/getGifCode", function (err, response) {
//设置临时变量“GUID”为变量名,response.json()["data"]["GUID"]为变量值
//疑惑的可分析脚本请求接口的返回信息格式
pm.variables.set("GUID", response.json()["data"]["GUID"]);
//打印请求脚本返回信息GUID参数的值 (检查分析用的)
console.log(response.json()["data"]["GUID"]);
//将脚本返回信息中BAS64参数值赋值给变量url
var url = response.json()["data"]["BAS64"];
//执行外部程序(就是其他代码文件),将代码文件打印在后台的值赋值给code变量
var code = pm.execute('getimgcode.py', [url]);
//使用正则表达式处理返回值,作用只取值的多位为字母的值
code = /[a-zA-Z]+/.exec(code)[0]
//打印code变量值
console.log(code);
//设置临时变量AUTOCODE,值为code
pm.variables.set("AUTHCODE", code);
});
我修改过的脚本
//请求接口
pm.sendRequest("http://172.19.13.233:8801/jeecg-boot/sys/randomImage/1683265498307?_t=1683265498", function (err, response) {
//疑惑的可分析脚本请求接口的返回信息格式
pm.variables.set("checkKey", "1683265498307");
//将脚本返回信息中BAS64参数值赋值给变量url
var url = response.json()["result"];
//执行外部程序(就是其他代码文件),将代码文件打印在后台的值赋值给code变量
var code = pm.execute('getimgcode.py', [url]);
code = code.split('NSwk7i')[1].trim().replace("\"", "").replace(/\n/g, "");
//设置临时变量AUTOCODE,值为code
pm.variables.set("captcha", code);
});
这里我的checkKey、result、caotcga和博主的GUID、["data"]["GUID"]、AUTHCODE不用管,这是需要看自己的项目结构来设定的。
关键在于博主识别出来的字符串中有很多没用的东西
实际只有这里是需要的验证码,我做的修改就是去掉其他没有用的东西。
code = code.split('NSwk7i')[1].trim().replace("\"", "").replace(/\n/g, "");
去空格、去换行、去引号。