我想通过网络抓取从路由器下载配置文件。我想实现的程序是:
到目前为止,我有以下代码:
with requests.Session() as s: # To login into the modem
pagePostBackUp = 'https://192.168.1.1/goform/BackUp'
s.post(urlLogin, data=loginCredentials, verify=False, timeout=5)
dataBackUp = {'dir': 'admin/','file': 'cmconfig.cfg'}
resultBackUp = s.post(pagePostBackUp, data=dataBackUp, verify=False, timeout=10)
print(resultBackUp.text)
最后一行是我要保存到文件中的内容。但是,当我尝试使用此代码时:
f = open('/Users/user/Desktop/file.cfg', 'w')
引发ascii编解码器无法对字符进行编码的错误。例如,如果使用encode='utf16'保存文件,则与最初手动下载的文件不同
所以,问题是,我如何用路由器通过网络给我的相同编码保存这个文件(作为unicode)。文件的内容如下所示:
�����G���M��� ������Z������ofpqJ U\V、.o/����采埃孚��v���~W3=,�D} );Y�热释光�希杰
将代码的最后一行更改为以下内容:
这将有效负载视为数据(
bytes
),而不是文本:文件以二进制模式打开,内容按原样处理。 没有编码/解码发生相关问题 更多 >
编程相关推荐