deluge webui不能添加部分torrent种子解决记录

本文介绍了一个关于Deluge Web UI中JSON解码错误的问题,该错误发生在尝试读取包含非ASCII字符的文件时。文章提供了一种解决方案,通过在处理响应时禁用ASCII编码确保正确解析。

错误信息如下:

[DEBUG   ] 16:43:50 server:156 uploading files to /tmp/delugeweb-iH0Lwq
[DEBUG   ] 16:43:50 server:164 uploaded 1 file(s)
[DEBUG   ] 16:43:50 json_api:255 json-request: {"method":"web.get_torrent_info","params":["/tmp/delugeweb-iH0Lwq/tmpb4atGK.torrent"],"id":34}
[DEBUG   ] 16:43:50 common:68 Attempting to open /tmp/delugeweb-iH0Lwq/tmpb4atGK.torrent.
[ERROR   ] 16:43:50 json_api:271 'utf8' codec can't decode byte 0xb7 in position 0: invalid start byte
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/deluge/ui/web/json_api.py", line 293, in render
    d = self._on_json_request(request)
  File "/usr/lib/python2.7/site-packages/deluge/ui/web/json_api.py", line 265, in _on_json_request
    return self._send_response(request, response)
  File "/usr/lib/python2.7/site-packages/deluge/ui/web/json_api.py", line 276, in _send_response
    response = json.dumps(response)
  File "/usr/lib/python2.7/json/__init__.py", line 243, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 207, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/json/encoder.py", line 270, in iterencode
    return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb7 in position 0: invalid start byte



具体的错误是因为json.dumps在输出json的时候其中的dict key中文变成了hex类型

将/usr/lib/python2.7/site-packages/deluge/ui/web/json_api.py中(或者python2.6)

_send_response方法中的

response = json.dumps(response)

修改为

try:

             response = json.dumps(response)

         except Exception,e:

             response = json.dumps(response,ensure_ascii=False)



转载于:https://my.oschina.net/yukunyi/blog/197915

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值