使用Areca ARC-1883i时出现“请从最顶层重新启动”错误

问题描述 投票:2回答:1

我正在使用带有python请求的python 3来上传一个音量键来解锁Areca控制器,但我一直得到“请从最顶层重启”。对于不熟悉这些控制器的人,他们支持硬件级加密,并且他们运行了一个http服务器,您可以从带外以太网端口连接。

通常你只需输入地址,登录,转到'http://xx.xx.xx.xx/volkey.htm',选择密钥文件,确认并上传。使用chrome dev工具我发现使用的url是'http://xx.xx.xx.xx/UPLFIRM'。按照我的看法,我根据http://docs.python-requests.org编写了以下代码:

import requests
from requests.auth import HTTPDigestAuth
from requests_toolbelt.multipart.encoder import MultipartEncoder

# Define Useful Variables

url_volkey = 'http://192.168.2.8/volkey.htm'
url_UPLFIRM = 'http://192.168.2.8/UPLFIRM'
url = 'http://192.168.2.8/index.htm'
username = 'admin'
password = '0000'
realm = 'Raid Console'

areca_key = open ('/home/manolis/Desktop/areca-key', 'rb')

multipart_data = MultipartEncoder (
    fields = {
        'FIRM': ('areca-key', areca_key, 'application/octet-stream'),
        'CFM': '1',
        'B1': 'Submit',
    }
)

# Begin Making connection

session = requests.Session ()
response = session.get (url)
cookies = dict (response.cookies)
print ("Status: %s" %(response.status_code))
print ("%s " %(response.headers))
print ("%s " %(response.request.headers))
print ("%s " %(response.content))

session.auth = auth=HTTPDigestAuth(username, password)
response = session.post (url, verify=False, cookies=cookies)
print ("Status: %s" %(response.status_code))
print ("%s " %(response.headers))
print ("%s " %(response.request.headers))
print ("%s " %(response.content))

session.headers.update ({'referer': 'http://192.168.2.8/volkey.htm'})
response = session.post (url_UPLFIRM, verify=False, cookies=cookies, data=multipart_data)
print ("Status: %s" %(response.status_code))
print ("%s " %(response.headers))
print ("%s " %(response.request.headers))
print ("%s " %(response.content))

我正在使用基于chrome dev工具的MultipartEncoder。 chrome dev tools

我真的被困在这里了。很明显我错过了一些东西,但我无法理解。不幸的是,我没有任何Web技术经验。欢迎任何帮助/建议!

python python-3.x python-requests
1个回答
1
投票

我几乎肯定你不应该在postindex.htm。去那里按链接/按钮上的鼠标右键 - 然后Inspect,有快捷方式CTRL-SHIFT-I。检查链接/按钮或表单,确切提交操作的位置。有关表单的更多信息,请访问here。我知道这有点傻,但最好还是要知道。因此,请检查表单的属性,其他标签以查看post的位置。

其他选项是在网络选项卡上打开dev-tools。检查您的流程,所有请求都将在那里。

我猜有点,所以如果你有更多的问题,只需发表评论,我会尝试评论/编辑这篇文章。

© www.soinside.com 2019 - 2024. All rights reserved.