[Qt-interest] QT power switch

luis navarro luis.navarro at jro.igp.gob.pe
Mon Nov 23 18:23:11 CET 2009


Yes, i tried with everycode i posted before but each time on qwebview just
appears the login form.

For example, i'm trying this right now:

void MainWindow::webPowerSwitch(){

QUrl url("http://user:xxxx@mypowerswitch/outlet?1=ON");

outlet->load(url);

}


and appears:


----------------------------------------------------------------------------------

Username:

Password:

                                         ___________

                                         | OK(button) |

-----------------------------------------------------------------------------------

2009/11/23 Josiah Bryan <jbryan at productiveconcepts.com>

> luis navarro wrote:
>
>> Well, the html posted it's the welcome page. When you get in, you can see
>> the options to turn off and on the outlets. But when you make some clicks to
>> do that, on address bar i see -> http://mypowerswitch/outlet?1=ON. So i
>> thought i could go forward to this action loging me first.
>>
>> By other way, i was trying to make an analog code from this perl code that
>> works fine for this objective.
>>
>> use LWP::UserAgent;
>> $ua = LWP::UserAgent->new();
>> $ua->get('http://user:xxxx@mypowerswitch/outlet?1=ON);
>>
>
> Well, none of the Qt/C++ code you posted (below) includes a user/pass
> combination in it the URL. Did you try including the user/pass in the Qt URL
> string in the same format as you did to the get() call above?
>
>
>>
>> 2009/11/23 Josiah Bryan <jbryan at productiveconcepts.com <mailto:
>> jbryan at productiveconcepts.com>>
>>
>>
>>
>>    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 <mailto:Qt-interest at trolltech.com>
>>
>>        http://lists.trolltech.com/mailman/listinfo/qt-interest
>>
>>
>>    --
>>    -=-=-=-=-=-=-=-=-=-=-=-=-
>>    Josiah Bryan
>>    Productive Concepts, Inc.
>>    jbryan at pciint.com <mailto:jbryan at pciint.com>
>>
>>    (765) 964-6009, ext. 224
>>
>>
>>
>>
>> --
>> Atte.
>> Luis Navarro Domínguez
>> luis.navarro at jro.igp.gob.pe <mailto:luis.navarro at jro.igp.gob.pe>
>>
>> LISN Department
>> Jicamarca Radio Observatory
>> Geophysical Institute of Peru
>> Apartado 13-0207
>> Lima 13 - Peru
>> Telf: (51)-1-3172313
>> Fax: (51)-1-3172312
>> http://jro.igp.gob.pe/
>>
>
> --
>
> -=-=-=-=-=-=-=-=-=-=-=-=-
> Josiah Bryan
> Productive Concepts, Inc.
> jbryan at pciint.com
> (765) 964-6009, ext. 224
>
>


-- 
Atte.
Luis Navarro Domínguez
luis.navarro at jro.igp.gob.pe
LISN Department
Jicamarca Radio Observatory
Geophysical Institute of Peru
Apartado 13-0207
Lima 13 - Peru
Telf: (51)-1-3172313
Fax: (51)-1-3172312
http://jro.igp.gob.pe/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20091123/b4faa85a/attachment.html 


More information about the Qt-interest-old mailing list