Imgur API偶尔403禁止

Imgur API occasional 403 Forbidden?

本文关键字:禁止 偶尔 API Imgur      更新时间:2023-09-26

在尝试远程上传到imgur时,偶尔会出现以下错误:加载资源失败:服务器响应状态为403(禁止)。但不是所有的时间,这是可疑的。

这是我的代码:

/* Drag and drop */
window.ondragover = function(e) {
    e.preventDefault();
};
window.ondrop = function(e) {
    e.preventDefault();
    upload(e.dataTransfer.files[0]);
};
function upload(file) {
    document.getElementById("view1").style.display = "none";
    document.getElementById("loading").style.display = "inline";
    var imageLink = "";
    /* Is the file an image? */
    if (!file || !file.type.match(/image.*/)) return;
    document.body.className = "uploading";
    var fd = new FormData();
    fd.append("image", file); // Append the file
    fd.append("key", "6528448c258cff474ca9701c5bab6927"); // The key
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "http://api.imgur.com/2/upload.json");
    xhr.onload = function() {
        var link = JSON.parse(xhr.responseText).upload.links.imgur_page;
        document.getElementById("loading").style.display = "none";
        document.querySelector("#link").href = link;
        document.querySelector("#link").innerHTML = link;
        var imageLink = ""+document.querySelector("#link").innerHTML.replace("http://imgur.com/", "http://i.imgur.com/")+".jpg";
        /* Image Preview */
        document.getElementById("result").style.display = "inline";
        document.getElementById("link-to-image").style.background = "url(" + imageLink + ") center center no-repeat";
        document.body.className = "uploaded";
    };
    /* Send the formdata */
    xhr.send(fd);
    /* Remove the button */
    document.getElementById("button").remove();
    };

答案很简单-在短时间内发生了太多请求,Imgur正在阻止其中一些请求。我想商业客户的情况并非如此。