[Qt-interest] QT power switch

Josiah Bryan jbryan at productiveconcepts.com
Mon Nov 23 17:46:57 CET 2009


luis navarro wrote:
> Hi all.
> 
> I have a problem and i hope you can help me.
> 
> There is a web server embebbed into a web power switch which controls 8 
> AC electric outlets. I'm trying to use QT to turn on and off one oultet 
> (outlet #1) with a button. I have been trying with QHttp, QWebview but 
> i'm not even near i think...
> 
> I hope you can give some advices or guide.
> Thanks
> 

Are you reading the HTML you posted? Its a login page - complete with a 
challenge. Are you logging in first to the powerswitch then trying to 
send the ON command?

> 
> *code 1*
> 
> void MainWindow::webPowerSwitch(){
> 
> QUrl url("http://mywebpowerswitch:9997");
> 
> QHttp::ConnectionMode mode = url.scheme().toLower() == "https" ? 
> QHttp::ConnectionModeHttps : QHttp::ConnectionModeHttp;
> 
> http->setHost(url.host(), mode, url.port() == -1 ? 80 : url.port());
> 
> QByteArray path = QUrl::toPercentEncoding(url.path(), "!$&'()*+,;=:@/");
> 
> http->setUser("user","xxxx");
> 
> if (path.isEmpty())
> 
> path = "/outlet?1=ON";
> 
> qDebug()<<path;
> 
> http->get(path);
> 
> }
> 
> *code 2*
> 
> void MainWindow::webPowerSwitch(){
> 
> QUrl url("http://mywebpowerswitch:9997/outlet?1=ON");
> 
> url.setUserName("user");
> 
> url.setPassword("xxxx");
> 
> outletwebview->load(url);
> 
> }
> 
> *code 3*
> 
> void MainWindow::webPowerSwitch(){
> 
> QUrl url("http://mywebpowerswitch:9997/outlet?1=ON");
> 
> url.setUserName("user");
> 
> url.setPassword("xxxx");
> 
> QNetworkRequest nR = QNetworkRequest(url);
> 
> outletwebview->load(nR,QNetworkAccessManager::GetOperation);
> 
> }
> 
> 
> *code 4*
> 
> void MainWindow::webPowerSwitch(){
> 
> QUrl url("http://mypowerswitch:9997/outlet?1=ON"):
> 
> url.setUserName("user");
> 
> url.setPassword("xxxx");
> 
> QNetworkAccessManager *networkManager = 
> outletwebview->page()->networkAccessManager();
> 
> QNetworkRequest request(url);
> 
> networkManager->get(request);
> 
> }
> 
> *
> webpowerswitch code:*
> <html>
> 
> <head>
> 
> <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
> 
> <title>Power Controller </title>
> 
> <script language="javascript" src="/md5.js"></script>
> 
> <script language="javascript">
> 
> <!--
> 
> function calcResponse(){
> 
> var str;
> 
> str=document.login.Username.value+document.login.Password.value+document.login.Challenge.value;
> 
> document.secin.Password.value = hex_md5(str);
> 
> document.secin.Username.value = document.login.Username.value;
> 
> document.secin.submit();
> 
> }//-->
> 
> </script>
> 
> </head>
> 
> <body>
> 
> <noscript>
> 
> <table width="100%" border=0>
> 
> <tr><td bgcolor=red>&nbsp;</td></tr>
> 
> <tr><td align=center><h1>Warning: Insecure Authentication</h1></td></tr>
> 
> <tr><td bgcolor=red>&nbsp;</td></tr></table>
> 
> </noscript>
> 
> <FORM NAME="login" ID="login" ACTION="/login.tgi" METHOD=post>
> 
> <TABLE BORDER="0">
> 
> <TR>
> 
> <TD>User Name</TD>
> 
> <TD><INPUT TYPE="text" NAME="Username" VALUE="" MAXLENGTH=32></TD>
> 
> </TR>
> 
> <TR>
> 
> <TD>Password</TD>
> 
> <TD><INPUT TYPE="password" NAME="Password" MAXLENGTH=32></TD>
> 
> </TR>
> 
> <TR ALIGN=RIGHT>
> 
> <TD></TD>
> 
> <TD><INPUT onClick="calcResponse(); return false;" TYPE="Submit" 
> NAME="Submitbtn" VALUE="OK">
> 
> <input type="hidden" name="Challenge" value="HFLS3zz/Y1tbPrk">
> 
> </TD></TR>
> 
> </TABLE>
> 
> </FORM>
> 
> <script language="javascript">
> 
> <!--
> 
> document.login.Username.focus();
> 
> //-->
> 
> </script>
> 
> <FORM NAME="secin" ID="secin" ACTION="/login.tgi" METHOD=post>
> 
> <INPUT TYPE=""
> 
> mensaje llego
> 
> "hidden" NAME="Username">
> 
> <INPUT TYPE="hidden" NAME="Password">
> 
> </FORM>
> 
> </body>
> 
> </html>
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest

-- 

-=-=-=-=-=-=-=-=-=-=-=-=-
Josiah Bryan
Productive Concepts, Inc.
jbryan at pciint.com
(765) 964-6009, ext. 224




More information about the Qt-interest-old mailing list