Witam,
próbuje skomunikować się z urządzeniem, które konfiguruje się przez stronę www generowaną przez ono samo. Większość opcji już sobie ogarnąłem ale w jednym miejscu utknąłem. Próbuję zasymulować przez skrypt pythona wysyłanie nazwy pliku do aktualizacji oprogramowania urządzenia i niestety bez sukcesu. Funkcja w javascript wygląda następująco:
function doUpgrade() {
var form = new FormData();
var xhr = createXHR();
var f=document.getElementById("file").files[0];
if (typeof f=='undefined') {
document.getElementById("remark").innerHTML="Can't read file!";
return
}
form.append("upfile", f);
xhr.open("POST", "upload.cgi");
xhr.onreadystatechange=function() {
if (xhr.readyState==4 && xhr.status>=200 && xhr.status<300) {
setProgress(1);
var data= eval("(" + xhr.responseText + ")");
if(data.status=="ok" && data.ret==1){
document.getElementById("remark").innerHTML="Info:Gateway upgrade success,it will reboot now";
}
else if(data.status=="fail" && data.ret==2){
document.getElementById("remark").innerHTML="Info:Gateway upgrade fail,the firmware not matched";
}
else if(data.status=="ok" && data.ret==3){
document.getElementById("remark").innerHTML="Info:Inverter firmware upload success,please wait it to upgrade";
}
else if(data.status=="fail" && data.ret==4){
document.getElementById("remark").innerHTML="Info:Inverter firmware upgrade fail,not found any inverter";
}
else{
document.getElementById("remark").innerHTML="Info:Unknown error";
}
}
}
if (typeof xhr.upload.onprogress != 'undefined') {
xhr.upload.onprogress=function(e) {
setProgress(e.loaded / e.total);
}
}
document.getElementById("remark").innerHTML="Uploading...";
xhr.send(form);
return false;
Jest możliwość, żeby przenieść to do Pythona?