Closed arogozhnikov closed 1 year ago
Hi,
The line numbers in the traceback you provided seems skewed, this is expected if you have modified the script, for example in order to debug it. Based on what you wrote, it seems that XML parsing fails because the input is not XML but rather HTML. I am not sure why this is the case. The scanner might be returning an HTML document if, for example, the script is not using the proper URL.
What scanner are you using? I tested this on an HP. Could you run the script with the --debug flag and send the output?
The line numbers in the traceback you provided seems skewed, this is expected if you have modified the script, for example in order to debug it.
sure, I just added several prints before the place an exception occur.
Based on what you wrote, it seems that XML parsing fails because the input is not XML but rather HTML.
correct, I also find it strange
What scanner are you using?
Canon Pixma G3260 (identifies itself as G3060)
Could you run the script with the --debug flag and send the output?
Sure, here you go
python scanner.py test.jpeg --debug
Using Canon G3060 series._uscan._tcp.local.
ServiceInfo(type='_uscan._tcp.local.', name='Canon G3060 series._uscan._tcp.local.', addresses=[b'\xc0\xa8\x00\n'], port=80, weight=0, priority=0, server='c73B28A00000.local.', properties={b'txtvers': b'1', b'ty': b'Canon G3060 series', b'pdl': b'image/jpeg,application/pdf', b'note': b'', b'adminurl': b'http://c73B28A00000.local./index.html?page=PAGE_AAP', b'UUID': b'00000000-0000-1000-8000-0018c301f260', b'vers': b'2.63', b'representation': b'http://c73B28A00000.local./icon/printer_icon.png', b'rs': b'eSCL', b'cs': b'grayscale,color', b'is': b'platen', b'duplex': b'F', b'mopria-certified-scan': b'1.3', b'usb_MFG': b'Canon'}, interface_index=None)
http://c73B28A00000.local./index.html?page=PAGE_AAP:80eSCL
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
<link rel="stylesheet" type="text/css" href="rui/CSS/common.css?ver=1.040-18C3">
<link rel="stylesheet" type="text/css" href="rui/CSS/other.css?ver=1.040-18C3">
<style type="text/css"></style>
<title></title>
<script src="LANG/messID.js?ver=1.040-18C3" type="text/javascript" charset="UTF-8"></script>
<script src="JS_MDL/model.js?ver=1.040-18C3" type="text/javascript" charset="UTF-8"></script>
<script src="rui/JS/utility.js?ver=1.040-18C3" type="text/javascript" charset="UTF-8"></script>
<script src="rui/JS/event.js?ver=1.040-18C3" type="text/javascript" charset="UTF-8"></script>
<script src="rui/JS/framework.js?ver=1.040-18C3" type="text/javascript" charset="UTF-8"></script>
<script src="rui/JS/view.js?ver=1.040-18C3" type="text/javascript" charset="UTF-8"></script>
<script src="rui/JS/top.js?ver=1.040-18C3" type="text/javascript" charset="UTF-8"></script>
<script src="rui/JS/top_add.js?ver=1.040-18C3" type="text/javascript" charset="UTF-8"></script>
<script language="javascript"></script>
</head>
<body onSelectStart="return false;">
<div class="UserView Lcd_large" id="userviewArea">
<div class="ReturnAppBar" id="returnAppBar">
<a class="LinkArea" href="#" id="returnApp">
<div class="Text" id="returnAppText">12345</div>
</a>
</div>
<div class="HorizontalContainer" id="TopMenu">
<div class="MenuPage">
<div class="ContentRelative">
<div class="dummy" id="replaceTop"></div>
</div>
</div>
<div class="ContentPage">
<div class="h10Container" id="h10Container">
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack1"><div class="dummy" id="replaceDebug1"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack2"><div class="dummy" id="replaceDebug2"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack3"><div class="dummy" id="replaceDebug3"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack4"><div class="dummy" id="replaceDebug4"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack5"><div class="dummy" id="replaceDebug5"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack6"><div class="dummy" id="replaceDebug6"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack7"><div class="dummy" id="replaceDebug7"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack8"><div class="dummy" id="replaceDebug8"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack9"><div class="dummy" id="replaceDebug9"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack10"><div class="dummy" id="replaceDebug10"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack11"><div class="dummy" id="replaceDebug11"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack12"><div class="dummy" id="replaceDebug12"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack13"><div class="dummy" id="replaceDebug13"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack14"><div class="dummy" id="replaceDebug14"></div></div>
</form>
<form class="Page_for_h10" action="#" onsubmit="return false;">
<div class="ContentRelative" id="stack15"><div class="dummy" id="replaceDebug15"></div></div>
</form>
</div>
</div>
</div>
</div>
<div class="Sample" id="SampleArea">
<div class="PRINF" id="samplePRINF">
<div class="Title">
<div class="Text">12345</div>
<div class="EventTarget" id="EVT_PRINF_BBTN">
<div class="BwdBtn">
<div class="Text">12345</div>
</div>
</div>
</div>
<div class="TitleEnd"></div>
<div class="EventTarget" id="EVT_PRINF_UPDW">
<div class="ContentArea" id="prinf_content_class">
<div class="ErrMsgArea" id="PrintInfo_MsgArea">
<div class="Text" id="PrintInfo_MsgText">12345</div>
<div class="LinkButtonArea Err">
<div class="LinkButton" id="lnkbtn_Detail">12345</div>
</div>
</div>
<div class="InkLevel">
<div class="Text">12345</div>
</div>
<div class="InkInfo">
<div class="InkAreaLine" id="ink_area_line1">
<div class="InkPattern" id="inktank0">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank1">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank2">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank3">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank4">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank5">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
</div>
<div class="InkAreaLine" id="ink_area_line2">
<div class="InkPattern" id="inktank6">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank7">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank8">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank9">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank10">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
<div class="InkPattern" id="inktank11">
<div class="InkMess"></div>
<div class="InkArea"><div class="InkBar"></div></div>
</div>
</div>
</div>
<div class="InkStatusMsg">
<div class="InkMsg">
<div class="InkNoticeMsgArea" id="InkNoticeMsgArea" style="display: none;">
<div class="Text" id="inkNoticeMsgText">12345</div>
</div>
<div class="InkMsgArea" id="InkMsgArea" style="display: none;">
<div class="Text" id="inkMsgText">12345</div>
</div>
</div>
</div>
<div class="LinkButtonArea" id="InkLink">
<a class="LinkButton" id="lnkbtn_InkModel" target="_blank">12345</a><a class="LinkButton EmphasisButton" id="lnkbtn_BuyInk" target="_blank">12345</a>
</div>
<div class="InfoArea" id="infoArea">
<div class="InfoItem" id="InfoItem00">
<div class="Text">12345</div>
<div class="Level">
<div class="Text" id="ItemText00">12345</div>
</div>
<div class="InfoGraph">
<div class="GraphArea" id="gauge00"><div class="Graph" id="indi00"></div></div>
</div>
</div>
<div class="InfoItem" id="InfoItem01">
<div class="Text">12345</div>
<div class="Level">
<div class="Text" id="ItemText01">12345</div>
</div>
<div class="InfoGraph">
<div class="GraphArea" id="gauge01"><div class="Graph" id="indi01"></div></div>
</div>
</div>
</div>
<div class="BatteryLevelArea" id="batteryLevelArea">
<div class="BatteryLevelPattern" id="battery">
<div class="Text">12345</div>
<div class="Level" id="batteryIcon">
<div class="Text" id="batteryText00">12345</div>
</div>
<div class="BatteryGraphArea" id="batteryGraph">
<div class="BatteryGraph" ><div class="Graph" id="Low"></div></div>
</div>
<div class="BatteryStatusMsg">
<div class="BatteryMsgArea">
<div class="Text" id="ErrMes">12345</div>
</div>
</div>
</div>
</div>
<div class="InfoArea mtc" id="maintenanceCartridgeArea">
<label for="CartridgeDispChk">
<div class="CartridgeDisp" id="cartridgeDisp">
<div class="CartridgeDispMess" id="cartridgeDispMess"></div>
<div class="Text" id="cartridgeDispText">12345</div>
<div class="OnOffSW"><input type="checkbox" id="CartridgeDispChk"></div>
</div>
</label>
<div class="CartridgeLevelPattern" id="cartridge">
<div class="Text" id="cartridgeMes">12345</div>
<div class="CartridgeMess" id="cartridgeMess"></div>
<div class="InfoGraph">
<div class="CartridgeGraph"><div class="mtcInkBar" id="cartridgeGraph"></div></div>
</div>
</div>
</div>
<div class="ModeBtnArea"><a class="FtrButton" id="modeSelectForSmall"><div class="Text">12345</div></a></div>
<div class="LinkButtonArea"><a class="LinkButton" id="webManualForSmall" target="_blank" ><div class="Text">12345</div></a></div>
<div class="CertBtnArea"><a class="CertLinkButton" id="certBtn" ><div class="Text">12345</div></a></div>
</div>
</div>
<div id="pageendPRINF"></div>
</div>
<div class="DTL" id="sampleDTL">
<div class="Title">
<div class="Text">12345</div>
<div class="EventTarget" id="EVT_DTL_BBTN">
<div class="BwdBtn">
<div class="Text">12345</div>
</div>
</div>
</div>
<div class="TitleEnd"></div>
<div class="ContentArea" id="EVT_DTL_UPDW">
<div class="ErrTitle" id="ErrTitle">
<div class="Text" id ="ErrTitleText">12345</div>
</div>
<div class="ErrMsg">
<div class="Text" id ="ErrMsgText">12345</div>
</div>
<div class="LinkButtonArea">
<a class="LinkButton" id="lnkbtn_ErrInf" target="_blank" ></a>
<a class="LinkButton" id="lnkbtn_Support" target="_blank" ></a>
</div>
</div>
<div id="pageendDTL"></div>
</div>
<div class="MODE" id="sampleMODE">
<div class="Title">
<div class="Text">12345</div>
<div class="EventTarget" id="EVT_MODE_BBTN">
<div class="BwdBtn">
<div class="Text">12345</div>
</div>
</div>
</div>
<div class="TitleEnd"></div>
<div class="EventTarget" id="EVT_MODE_UPDW">
<div class="ContentArea">
<div class="MODE_Item" id="MODE_Item">
<div class="Text" id="MODE_ItemText">12345</div>
</div>
<div class="ModeMessArea">
<div class="Text" id="ModeMessArea">12345</div>
</div>
<div class="RadioDetailButton" id="MODE_RadioButton">
<div class="ModeSelect" id="ModeSet00">
<input type="radio" name="ModeSelect" id="ModeRadio00" checked="true">
<label for="ModeRadio00" class="Text">12345</label>
</div>
<div class="ModeSelect" id="ModeSet01">
<input type="radio" name="ModeSelect" id="ModeRadio01">
<label for="ModeRadio01" class="Text">12345</label>
</div>
</div>
<div class="ModeBtnArea">
<a class="FtrButton" id="logonBtn" >
<div class="Text">12345</div>
</a>
</div>
<div class="LinkButtonArea">
<a class="LinkButton" id="TopWebManual" target="_blank" >
<div class="Text">12345</div>
</a>
</div>
<div class="CertBtnArea">
<a class="CertLinkButton" id="certBtn" >
<div class="Text">12345</div>
</a>
</div>
<div id="pageendMODE"></div>
</div>
</div>
</div>
<div class="MES_LINK" id="sampleMES_LINK">
<div class="Title">
<div class="Text">12345</div>
<div class="EventTarget" id="EVT_MES_LINK_BBTN">
<div class="BwdBtn">
<div class="Text">12345</div>
</div>
</div>
</div>
<div class="TitleEnd"></div>
<div class="EventTarget" id="EVT_MES_LINK_UPDW">
<div class="ContentArea">
<div class="MesItem">
<div class="Text" id="MesItemText">12345</div>
</div>
</div>
<div class="SelectArea">
<div class="EventTarget">
<div class="SelectButton" id="EVT_MES_LINK_BTN">
<div class="Text">12345</div>
</div>
<a class="CertLinkButton" id="EVT_MES_LINK_BTN_LINK" href="javascript:void(0);" target="_blank" style="display:none;">
<div class="Text">12345</div>
</a>
</div>
</div>
<div id="pageendMES_LINK"></div>
</div>
<div class="Footer" id="FooterBar">
<div class="EventTarget">
<div class="FtrButton" id="EVT_MES_LINK_FTRBTN">
<div class="Text">12345</div>
</div>
</div>
</div>
</div>
</div>
<div class="ScreenGarage" id="GarageArea">
</div>
<input type="hidden" id="EID" value="http://rs.ciggws.net/rd.cgi?FNC=RUI_EID2&RES=B&DEV=G3060+series&CNM_SEP=0&mdl=G3060+series&low=0&out=0&ac=0&srcmdl=6&resid=CA&hriid=2&snma=ZGU2Zjk2ZDI=.w0p8hAg8jBR9_1Pe8-XrTyUTwGn8ktdRKIzglax2JtE=&wsrv=1&inkmdl1=%3CPGBK%3E&inkmdl2=%3CC%3E&inkmdl3=%3CM%3E&inkmdl4=%3CY%3E">
</body>
</html>
I think this should now be fixed. The script was constructing the URL based on the adminurl. I changed it to only use the server, port and rs prop taken from the ZC info structure. Please rebase and report if it solved your problem.
yes, it works! Super-cool, thank you
Hi, liked how minimal your script is, so gave it a try. Judging by sound, it starts a scan, but fails to retrieve the result.
Here is a traceback
and here is
resp.text
that it fails to parse: