将 JavaScript 代码发送到 Android 中的 Web 监控服务器 (CCTV)



我试图将云台缩放命令发送到设备(DVR)提供的网络监控服务器。我能够访问Web服务器中的所有内容,并且我在Firefox中使用firebug来定位按钮发送到服务器的特定JavaScript命令。我想从我的安卓应用程序发送特定的代码行。 我应该使用 JSON 还是 SOAP?我不熟悉这两个,但我认为这是这样做的方法,我只是不知道具体如何处理这些概念。


这是我使用 Firebug 从 Web 监控中获得的示例 JavaScript:

这是锚标记的内容:

<a class="y4" onmouseout="ajaxFunction('stop','directionleft')"
onmouseup="ajaxFunction('stop','directionleft')" 
onmousedown="ajaxFunction('start','directionleft')" href="javascript:;"></a>

这是"ajaxFunction"的脚本:

function ajaxFunction(req, param)
{
var xmlHttp;
try
{
    xmlHttp=new XMLHttpRequest();
}
catch (e)
{
    try
    {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        try
        {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e)
        {
            alert("ÄúµÄä¯ÀÀÆ÷²»Ö§³ÖAJAX£¡");
            return false;
        }
    }
}
if(g_viewStatu[g_clicked].vbPlaying)
{
    if(req=="start")
    {
    xmlHttp.open("POST","dvrcmd",true);
    xmlHttp.send("command=ptz_req&req="+req+"&param="+param+"&channel="+g_viewStatu[g_clicked].nchannel+"&stream="+g_channelStatu[g_viewStatu[g_clicked].nchannel].streamStyle);
    ptzstate = 1;
    }
    else if(req=="stop" && ptzstate == 1)
    {
    xmlHttp.open("POST","dvrcmd",true);
    xmlHttp.send("command=ptz_req&req="+req+"&param="+param+"&channel="+g_viewStatu[g_clicked].nchannel+"&stream="+g_channelStatu[g_viewStatu[g_clicked].nchannel].streamStyle);
    ptzstate = 0;
    }
}
}

回答了我自己的问题..>.<</p>

public void executePTZ(String cmd, String direction){
    String posturl = "http://192.168.1.120";
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(posturl);

    try {
        httppost.setEntity(new StringEntity("command=ptz_req&req="+cmd+"&param="+direction+"&channel=1&stream=1"));
        HttpResponse resp = httpclient.execute(httppost);
        HttpEntity ent = resp.getEntity();
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }           
}

最新更新