[英]How can i abort/cancel a HTTP request caused by Javascript code?
我有此代碼可以從該網站獲取驗證碼
var imported = document.createElement('script');
imported.onload = function() {
var str = document.querySelector("body > table.troisbords > tbody > tr > td > table > tbody > tr > td > div > blockquote > table > tbody > tr > td:nth-child(3) > table > tbody > tr:nth-child(2) > td > form > table > tbody > tr:nth-child(4) > td:nth-child(1)").innerHTML.length
if (str <= 43) {
var div = document.createElement("div");
div.id = "divPage";
var img = document.querySelector("body > table.troisbords > tbody > tr > td > table > tbody > tr > td > div > blockquote > table > tbody > tr > td:nth-child(3) > table > tbody > tr:nth-child(2) > td > form > table > tbody > tr:nth-child(4) > td:nth-child(1) > img");
img.parentNode.insertBefore(div, img);
div.appendChild(img);
}
html2canvas(document.querySelector("#divPage"), {
onrendered: function(canvas) {
var ctx = canvas.getContext("2d");
var w = canvas.width;
var h = canvas.height;
ctx.fillStyle = "#FFF";
ctx.fillRect(0, 0, w, h);
var cap = document.querySelector("#divPage > img")
ctx.drawImage(cap, 0, 0);
var imgData = canvas.toDataURL('image/webp', 1.0);
console.log(imgData);
},
useCORS: true,
allowTaint: true,
taintTest: false
});
}
imported.src = 'https://pastebin.com/raw/dRap1YD8';
document.head.appendChild(imported);
此行將img請求發送到服務器,從而導致驗證碼值更改
ctx.drawImage(cap,0,0);
我嘗試使用XMLHttpRequest.abort()
但沒有用
請注意,我正在使用Chrome控制台。 感謝您的幫助!
我不知道這是如何工作的,但我在使用/ORegMx/capito.png之后添加?= 0
document.querySelector("body > table.troisbords > tbody > tr > td > table > tbody > tr > td > div > blockquote > table > tbody > tr > td:nth-child(3) > table > tbody > tr:nth-child(2) > td > form > table > tbody > tr:nth-child(4) > td:nth-child(1) > img").src="/ORegMx/capito.png?=0"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.