使用Python录制Foscam IP摄像头视频(现在尝试使用twill在IP地址填写密码)

使用Python录制Foscam IP摄像头视频(现在尝试使用twill在IP地址填写密码),python,opencv,camera,ip,twill,Python,Opencv,Camera,Ip,Twill,我目前正在尝试使用Python从Foscam 8910W IP摄像头录制视频 我首先咨询了以下线程: 我通过了最初的几个命令 然后我意识到,由于我相机的IP需要用户名和密码,我必须克服这个障碍。因此,我安装了twill并尝试使用twill命令登录: 我使用该线程登录到twill shell。然后,我尝试了此页面中的一些命令: 比如 go("http://<camera's IP address>") 在这一点上,我得到的回应是 <generator object __ca

我目前正在尝试使用Python从Foscam 8910W IP摄像头录制视频

我首先咨询了以下线程:

我通过了最初的几个命令

然后我意识到,由于我相机的IP需要用户名和密码,我必须克服这个障碍。因此,我安装了twill并尝试使用twill命令登录:

我使用该线程登录到twill shell。然后,我尝试了此页面中的一些命令:

比如

go("http://<camera's IP address>")
在这一点上,我得到的回应是

<generator object __call__ at 0x106198780>
我得到了类似的回答

<function show_cookies at 0x106026488>
例如,我使用了
fv(“1”、“登录用户”和“”)
。我有一个错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/twill-0.9-py2.7.egg/twill/commands.py", line 433, in formvalue
    raise TwillAssertionError("no matching forms!")
twill.errors.TwillAssertionError: no matching forms!
现在
fv('1','login_user','')和
fv('1','login_pwd','')
正在工作,尽管我在提交按钮上遇到了问题,现在仍然在工作

有什么想法吗

<function show_cookies at 0x106026488>
from twill.commands import *
go('http://mysite.org')

fv("1", "email-email", "blabla.com")
fv("1", "password-clear", "testpass")

submit('0')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/twill-0.9-py2.7.egg/twill/commands.py", line 433, in formvalue
    raise TwillAssertionError("no matching forms!")
twill.errors.TwillAssertionError: no matching forms!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<link rel="stylesheet" href="style.css" type="text/css">
<title></title>
<style>
BODY {
    MARGIN: 0px; BACKGROUND-COLOR: #969696; font: arial;
}
</style>
<script src="jquery-1.4.4.min.js"></script>

<script src="public.js"></script>
<script language = "javascript">

function OK()
    {
        top.user = document.getElementById("login_user").value;
        top.pwd = document.getElementById("login_pwd").value;
        top.$.getScript("check_user2.cgi?user="+encodeURIComponent(top.user)+'&pwd='+encodeURIComponent(top.pwd), function()
        {
            if(top.pri == 0) {
                alert(top.str_ftp_error_user);
            }
            else
            {
                if ("" == top.pwd)
                {
                    alert(top.str_pwd_note);
                }
                top.setcookie('login_user',top.user,720);
                //top.setcookie('login_pwd',top.pwd,720);
                location='login.htm';
            }
        })
    }

function set_language(value)
{
    if(value==0)
    {   
       language='english';  
    }
    else if(value==1)
    {  
        language='Deutsch';  
    }
    else if(value==2)
    {
        language='french';  
    }
    else if(value==3)
    {
        language='Italian';  
    }
    else if(value==4) 
    {
        language='spanish';  
    }
    else if(value==5) 
    {
        language='Netherlands';  
    }
    else if(value==6)
    {
        language='Polski';  
    }
    else if(value==7) 
    {
       language='Hungarian';  
    }
    else if(value==8) 
    {
        language='simple_chinese';  
    }
    else if(value==9) 
    {
        language='traditional_chinese';  
    }
    else if(value==10) 
    {
        language='Portugal';  
    }
    else if(value==11) 
    {
        language='Czech';  
    }
    else if(value==12) 
    {
        language='Turkish';  
    }
    else if(value==13) 
    {
        language='Russian';  
    }
    else if(value==14) 
    {
        language='Korean';  
    }
    else if(value==15) 
    {
        language='Indonesian';  
    }
    else if(value==16) 
    {
        language='Denmark';  
    }
    else
    {
        language='english';  
    }

    top.setcookie('language',language,720);
    top.location.reload();//reload index.html
}

    function get_language()
{
    var lang_ret=0;

    var tmp_lang=top.getcookie('language');
    if(tmp_lang=='')
    {
        lang_ret=0;
    }
    else
    {
        if(tmp_lang=='english')
        {
            lang_ret=0;
        }
        else if(tmp_lang=='Deutsch')
        {
            lang_ret=1;
        }
        else if(tmp_lang=='french')
        {
            lang_ret=2;
        }
        else if(tmp_lang=='Italian')
        {
            lang_ret=3;
        }
        else if(tmp_lang=='spanish')
        {
            lang_ret=4;
        }
        else if(tmp_lang=='Netherlands')
        {
            lang_ret=5;
        }
        else if(tmp_lang=='Polski')
        {
            lang_ret=6;
        }
        else if(tmp_lang=='Hungarian')
        {
            lang_ret=7;
        }
        else if(tmp_lang=='simple_chinese')
        {
            lang_ret=8;
        }
        else if(tmp_lang=='traditional_chinese')
        {
            lang_ret=9;
        }
        else if(tmp_lang=='Portugal')
        {
            lang_ret=10;
        }
        else if(tmp_lang=='Czech')
        {
            lang_ret=11;
        }
        else if(tmp_lang=='Turkish')
        {
            lang_ret=12;
        }
        else if(tmp_lang=='Russian')
        {
            lang_ret=13;
        }
        else if(tmp_lang=='Korean')
        {
            lang_ret=14;
        }
        else if(tmp_lang=='Indonesian')
        {
            lang_ret=15;
        }
        else if(tmp_lang=='Denmark')
        {
            lang_ret=16;
        }

    }

    return lang_ret; 
}

function get_user()
{
    var tmp_user = top.getcookie('login_user');
    return tmp_user;
}

function get_pwd()
{
    var tmp_pwd = top.getcookie('login_pwd');
    return tmp_pwd;
}

function body_onload()
{
    var lang_type=get_language();
    document.getElementById("select_Language").value=lang_type;
    //var pwd_type = get_pwd();
    //document.getElementById("login_pwd").value = pwd_type;
    var user_type = get_user();
    document.getElementById("login_user").value = user_type;

}

$(function(){
    $("#login_user").select().focus();
    $("#login_user, #login_pwd, #login_botton, #select_Language").keydown(function(e){
        if (e.keyCode == 13){
            OK();
        }
    });
})
</script>


</head>
<body onLoad="body_onload()">
<div style="width:100%; height:50px;"></div>
<table border=0 cellpadding=0 cellspacing=0 width=400 height=250 align="center" style="font-family:Arial; background:url(images/loginbg1.gif) no-repeat">
<tr height = 60>
        <td  colspan="3"> 
            <div >&nbsp;&nbsp;&nbsp;<font style="font: arial; "><strong><script>document.write(top.str_language_select);</script></strong></font>&nbsp;
                <select name="select" id="select_Language" onChange="set_language(value)" >
                        <option value="0">English</option>
                        <option value="1">Deutsch</option>          
                        <option value="2">Française</option>
                        <option value="4">España</option>
                        <option value="3">Italiano</option>
                        <option value="10">Portugal</option>
                        <option value="13">Pусский</option> 
                        <option value="5">Nederland</option>
                        <option value="6">Polska</option>
                        <option value="7">Hungarian</option>
                        <option value="12">Türk</option>    
                        <option value="11">Češka</option>
                        <option value="16">Dansk</option>           
                        <option value="14">한국의</option>
                        <option value="15">Indonesia</option>
                        <option value="8">简体中文</option>
                        <option value="9">繁体中文</option>
                    </select>
            </div>
        </td>
        <td></td>
        <td>&nbsp;&nbsp;</td>

    </tr>
    <tr>
        <td  colspan="2"> </td>
        <td height="10" valign=top align=right></td>
        <td>&nbsp;&nbsp;&nbsp;</td>

    </tr>
 <tr align="center" height="40">
        <td style=" float:right; line-height:40px;" colspan="2"><font style="font: arial;"><strong><script>document.write(top.str_user);</script></strong></font>&nbsp;&nbsp;
        </td>
        <td align="right"><div><input id="login_user" style="width: 146px; height: 23px;"/></div></td>
        <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
        </tr>
        <tr align="center" height="40">
        <td style="float:right; line-height:40px;" colspan="2"><font style="font: arial;"><strong><script>document.write(top.str_pwd);</script></strong></font>&nbsp;&nbsp;
        </td>
        <td align="right"><div><input id="login_pwd" type="password" style="width: 146px; height: 23px;"/></div></td>
        <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
        </tr>
        <tr align="center" height = 70>
        <td style="width:180px; float:right;" colspan="2"></td>
        <td ><div id="login_botton" onClick="javascript:OK();" style="background:url('images/loginbutton1.png') no-repeat;width:100px;height:25px;cursor:pointer;line-height:25px; float:center;" ><font  align="center" style="font: arial;"><strong><script>document.write(top.str_index_ok);</script></strong></font></div>
        </td>
        <td>&nbsp;&nbsp;</td>
        </tr>
</table>

</body>
## ## __Name__________________ __Type___ __ID________ __Value__________________
1     select                   select    select_L ... ['0'] of ['0', '1', '2', '4', '3', ' ... 
2     None                     text      login_user    
3     None                     password  login_pwd