获取图片base64码问题?
我写一个油猴脚本想获取验证码的base64,但是获取的不是图一哪个预加载的圈圈,就是图二只有一部分,要怎么获取全部图片啊,如下图
https://demo.eyoucms.com/login.php?s=Admin/login
const img = document.getElementById('imgVerify');
let base64 = '';
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = img.naturalWidth;
canvas.height = img.naturalHeight;
ctx.drawImage(img, 0, 0);
base64 = canvas.toDataURL();
console.log(base64);
const apiUrl = 'http://127.0.0.1:3007/bt/open/website/backstage';
GM_xmlhttpRequest({
method: 'POST',
url: apiUrl,
headers: { 'Content-Type': 'application/json; charset=utf-8' },
data: JSON.stringify({
img: base64
}),
onload: function(response) {
console.log(response.responseText);
},
onerror: function(error) {
console.error(error);
}
});
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABa0lEQVQ4T5WT8cmDQAzFU3CAIg4gpRN0hOII4gRSOkEpHUCkE4g4gSOIOIE4gnSC0gEKfv5CT05t//gCJWfu8vLykm5kYa/Xa9hutxv89XqV0UuWZUJs+ZbvWfDxeAxBEEhd1yToDxvj4vu+gi6BVgDjQ9nv99K2rXieJ+/3WwEAgw1ANhP9oDKey/v9PlwuFxm93G63CYD7D6s5ALSiKJKqqjTpdDrpQ8dxJAxDLZam6SyZggZsYkAiICTid7vdii7FaMNmogBc4BEPFmVZrpLNu5WI9Eyi67pKlynEcfx1ZHYxI6SKBoAx9PgXgI3adZ22wRS+LY4t3sTAAOR5rv0fDgfhvJy3EbDv+5nA2us47wHhWF1GBwBGO8ZYrPFOtxGmZkqrRYImicz++Xzq9iEsBYgbZmatZ2oTPJ/Pip4kyaYoCh0vogKMPjC09Vn9F6DPUlHJBgCoaZoBjX4CTA1/DiRwPB6PP/fiD1va9a9pNElgAAAAAElFTkSuQmCC
回复
1个回答

test
2024-07-04
canvas.width = img.width;
canvas.height = img.height;
这两句改成
canvas.width = img.naturalWidth;
canvas.height = img.naturalHeight;
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容