Здравствуйте. Нужно отправить капчу POST to http://antigate.com/in.php следующие поля: method => base64 key => 2595b47679d8f01ffb87782e5655b555 body => CAPCHA_FILE_HERE_ENCODED_BASE64 ( + UUENCODE ! ) ext => FILE_EXTENSION Объясните пожалуйста как правильно это сделать, а еще лучше подправьте код. Вот как я пытаюсь отправить файл.... Получаю файл капчи в Base64 HTML: var canvas = document.createElement('canvas'); canvas.width = "200"; canvas.height = "50"; var context = canvas.getContext('2d'); var img = new Image(); img.onload = function(){ context.drawImage(img, 0, 0); } img.src='....captcha.png'; var b64 = canvas.toDataURL("image/png"); содержимое Code: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAyCAYAAAAZUZThAAASWklEQVR4Xu2dd6hdxRPHN7bYjbF3jUnsvWCvKcYYsUtUEHtsqIiooFhQSUAFYxcMwT+iosHee9fYe2+x997L++WzP+ay99zds7Pn7Hk36ls4vJv39u7ZMt+Z78zsbvoZY3pmPH2lbwb6ZsAzA/0AyFZbbWX69evX8VCf388yyyz2q746/C6lHm253wm9N1e9mblvMg8pY42tQ0pbTa5DUWa+/fZb8/nnn9vns88+s498/vTTT+3nP//8szZIee8iiyxibr/9dvuTopkTVw5ljhdYYAHTAkhOEOQGlba92ESkgEX7Tm29WN+0YGliDHX79sMPP5gvvvjCPgj+l19+2QYEfv/777/XFn7maKGFFjJLLLGEfRZffHGz5JJL2s9LLbWUffj7zz//bH8Wla8WLFJv/vnn/z9Att5660a1uhZ8v/zyi51gtM1PP/1k/vjjD4v+ueaay4BmNAITom1PM0Hatpqu99dff5nZZ5+9tagaIGjqpFr4IuARNgQeIZeffEbjCyh+/fXX2sJPAwMGDLDCvthii7UAIGCYZ5557Lp/9913th/u4/btm2++MQsuuKB5/vnno6wnphi8AIl9SavptPUY0Pvvv28++OADO/hYod2dd97ZTmJMe+egI99//70FLPOCVppvvvmCdLQ4dzFQvf3223bcs846qxUIhGDRRRe1CsFn8jWAT6Gsv/32mxW0r776yit0CB5KK0dh3lgzHjQ/D4I855xzmtlmm8309PTY9f/66687+kT/UugX8/7uu+/aeY3JSJkC6QCIb1Fii1zUYn///bdBoxQFqWjeXn/9dfP0009XnvtDDz20g1uymLT7ySef2Id+MPGMAe2EBRo8eLBZZZVVWt8NARkN+dJLL1lNSTtQBMBCO3x/9dVXt4usFUgG+tRTT5lp06aZ9957z1pH6Rv9YzHXXXdds+aaa5o11ljDCo60LXN3yimnWAu6wQYb2Ke4Xi5AaR9hQ7hcoXPBgJXOUeaee24LbIR/4YUXtmsvgk8fEW5oGO92n1yWxx0DczBw4EBz77332p8ahR+SeyvDUKxtttkmao5iSMQUP/7443YiaHjEiBFBpx7BuPLKK2utzWGHHWbbB5AI8auvvmof2o6Veeed14wcOdIMHTq0o4+098IL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 теперь, на сколько я понял ине нужно закодировать base64 в UUENCODE . Как это сделать я не знаю, гугл не помог. пытаюсь отправить содержимое в base64 HTML: var fd = new FormData(); fd.append("method", "base64"); fd.append("key", "2595b47679d8f01ffb87782e5655b555"); fd.append("body", file); fd.append("ext", "png"); var xhr = new XMLHttpRequest(); xhr.open("POST", "http://antigate.com/in.php", true); xhr.onreadystatechange=function() { if(xhr.readyState == 4) { if (xhr.status == 200) { //console.log(xhr.responseText); alert(xhr.responseText); } else alert("Ошибка обработки запроса!"); } } xhr.send(fd); ошибка ERROR_WRONG_FILE_EXTENSION. Помогите пожалуйста
попрбовал var file=convert_uuencode(b64); В консоли Хрома ошибка Uncaught TypeError: Object [object DOMWindow] has no method 'is_scalar'
добавил функции HTML: function is_scalar (mixed_var) { return (/boolean|number|string/).test(typeof mixed_var); } HTML: function convert_uuencode(str){ var char = function(c) { return String.fromCharCode(c); }; if(!str || str=="") { return char(0); } else if(!is_scalar(str)) { return false; } var c = 0, u = 0, i = 0, a = 0 var encoded = "", tmp1 = "", tmp2 = "", bytes = {}; // divide string into chunks of 45 characters var chunk = function() { bytes = str.substr(u, 45); for(i in bytes) { bytes[i] = bytes[i].charCodeAt(0); } if(bytes.length != 0) { return bytes.length; } else { return 0; } }; while(chunk() !== 0) { c = chunk(); u += 45; // New line encoded data starts with number of bytes encoded. encoded += char(c+32); // Convert each char in bytes[] to a byte for(i in bytes) { tmp1 = bytes[i].charCodeAt(0).toString(2); while(tmp1.length < 8) { tmp1 = "0" + tmp1; } tmp2 += tmp1; } while(tmp2.length % 6) { tmp2 = tmp2 + "0"; } for(i=0; i<=(tmp2.length/6)-1; i++) { tmp1 = tmp2.substr(a, 6); if(tmp1 == "000000") { encoded += char(96); } else { encoded += char(parseInt(tmp1, "2")+32); } a += 6; } a = 0, tmp2 = ""; encoded += "\n"; } encoded += char(96)+"\n"; return encoded; } ошибка ERROR_IMAGE_IS_NOT_PNG