验证码破解:
1. 浏览器控制台
控制台输入下面地址的代码
https://unpkg.com/ajax-hook@2.0.3/dist/ajaxhook.min.js

2. ah.proxy 修改返回结果。 需要匹配的url 需要自己通过控制太确定。
ah.proxy({
onRequest: (config, handler) => {
console.log("onRequest")
handler.next(config);
},
onError: (err, handler) => {
console.log("onError")
handler.next(err)
},
onResponse: (response, handler) => {
console.log(response)
if (response.config.url.indexOf(".openwrite.cn/code/check")>0) {
console.log("filter onResponse")
response.response = '{"result":true,"message":""}'
handler.next(response)
} else {
handler.next(response)
}
}
});

proxy 代理项目源码地址。
https://codechina.csdn.net/mirrors/wendux/ajax-hook/-/tree/master
原理分析
https://www.jianshu.com/p/7337ac624b8e

 


proxy({
onRequest: (config, handler) => {
if (config.url === 'https://aa/') {
handler.resolve({
config: config,
status: 200,
headers: {'content-type': 'text/text'},
response: 'hi world'
})
} else {
handler.next(config);
}
},
onError: (err, handler) => {
if (err.config.url === 'https://readmore.openwrite.cn/code/check') {
handler.resolve({
config: err.config,
status: 200,
headers: {'content-type': 'text/text'},
response: 'hi world'
})
} else {
handler.next(err)
}
},
onResponse: (response, handler) => {
if (response.config.url.startswith("https://readmore.openwrite.cn/code/check")) {
handler.reject({
response: '{"result":true,"message":"验证码无效!"}'
})
} else {
handler.next(response)
}
}
})

// 使用jQuery发起网络请求
function testJquery(url) {
$.get(url).done(function (d) {
console.log(d)
}).fail(function (e) {
console.log('hi world')
})
}

//测试
testJquery('https://aa/');
testJquery('https://bb/');
testJquery(location.href)

posted on 2021-12-19 11:11  swing07  阅读(143)  评论(0编辑  收藏  举报