[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> </td></tr>
>
> <tr><td align=center><h1>Warning: Insecure Authentication</h1></td></tr>
>
> <tr><td bgcolor=red> </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