Skip to content
This repository has been archived by the owner on Sep 24, 2021. It is now read-only.

wget auto retry on HTTP 400 #410

Open
jkldgoefgkljefogeg opened this issue Sep 4, 2014 · 3 comments
Open

wget auto retry on HTTP 400 #410

jkldgoefgkljefogeg opened this issue Sep 4, 2014 · 3 comments

Comments

@jkldgoefgkljefogeg
Copy link

有时候迅雷的服务器有问题文件无法下载 (从迅雷离线网页版同样得到HTTP 400) 会自动退出
可以加上自动重试吗? 重新连接http://gdl.lixian.vip.xunlei.com/ 这样有可能被302到另一个可用的节点, 如果还不行 (302到同一个故障节点), 逐一测试节点 (把gdl.lixian.vip.xunlei.com换成dl.$NODE.lixian.vip.xunlei.com比如dl.i.lixian.vip.xunlei.com)
最近400很频繁需要不停的手工重启下载

Resolving vod18.c11.lixian.vip.xunlei.com (vod18.c11.lixian.vip.xunlei.com)... 122.143.6.190
Connecting to vod18.c11.lixian.vip.xunlei.com (vod18.c11.lixian.vip.xunlei.com)|122.143.6.190|:443... connected.
HTTP request sent, awaiting response... 400 Bad Request
2014-09-03 23:41:13 ERROR 400: Bad Request.

Traceback (most recent call last):
File "/home/ttp/bin/lx", line 63, in
execute_command()
File "/home/ttp/bin/lx", line 60, in execute_command
commandscommand
File "/home/ttp/src/xunlei-lixian/lixian_cli_parser.py", line 165, in parse
return f(parser(args_list, _args, *_kwargs))
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 325, in download_task
download_multiple_tasks(client, tasks, download_args)
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 227, in download_multiple_tasks
download_single_task(client, task, options)
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 191, in download_single_task
download_file(client, path, f, options)
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 120, in download_file
download2(client, url, path, task)
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 110, in download2
download1_checked(client, url, path, size)
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 99, in download1_checked
download1(download, path)
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 93, in download1
download()
File "/home/ttp/src/xunlei-lixian/lixian_download_tools.py", line 29, in call
self.tool(self.client, self.url, self.path, self.resuming)
File "/home/ttp/src/xunlei-lixian/lixian_download_tools.py", line 71, in wget_download
raise Exception('wget exited abnormally')
Exception: wget exited abnormally

节点列表

爱普

dl.h.lixian.vip.xunlei.com

教育

dl.i.lixian.vip.xunlei.com

长宽

dl.g.lixian.vip.xunlei.com

铁通

dl.f.lixian.vip.xunlei.com

小运营商合作代理

dl.u.lixian.vip.xunlei.com
dl.u1.lixian.vip.xunlei.com
dl.u2.lixian.vip.xunlei.com

电信

dl.t1.lixian.vip.xunlei.com
dl.t3.lixian.vip.xunlei.com
dl.t4.lixian.vip.xunlei.com
dl.t5.lixian.vip.xunlei.com
dl.t6.lixian.vip.xunlei.com
dl.t7.lixian.vip.xunlei.com
dl.t8.lixian.vip.xunlei.com
dl.t9.lixian.vip.xunlei.com
dl.t10.lixian.vip.xunlei.com
dl.t11.lixian.vip.xunlei.com
dl.t12.lixian.vip.xunlei.com
dl.t13.lixian.vip.xunlei.com
dl.t14.lixian.vip.xunlei.com
dl.t15.lixian.vip.xunlei.com
dl.t16.lixian.vip.xunlei.com
dl.t17.lixian.vip.xunlei.com
dl.t18.lixian.vip.xunlei.com
dl.t19.lixian.vip.xunlei.com
dl.t20.lixian.vip.xunlei.com
dl.t21.lixian.vip.xunlei.com
dl.t22.lixian.vip.xunlei.com
dl.t23.lixian.vip.xunlei.com
dl.t24.lixian.vip.xunlei.com
dl.t25.lixian.vip.xunlei.com
dl.t26.lixian.vip.xunlei.com
dl.t27.lixian.vip.xunlei.com
dl.t28.lixian.vip.xunlei.com
dl.t29.lixian.vip.xunlei.com
dl.t30.lixian.vip.xunlei.com
dl.t31.lixian.vip.xunlei.com
dl.t32.lixian.vip.xunlei.com
dl.t33.lixian.vip.xunlei.com
dl.t34.lixian.vip.xunlei.com

网通

dl.c1.lixian.vip.xunlei.com
dl.c3.lixian.vip.xunlei.com
dl.c4.lixian.vip.xunlei.com
dl.c5.lixian.vip.xunlei.com
dl.c6.lixian.vip.xunlei.com
dl.c7.lixian.vip.xunlei.com
dl.c8.lixian.vip.xunlei.com
dl.c9.lixian.vip.xunlei.com
dl.c10.lixian.vip.xunlei.com
dl.c11.lixian.vip.xunlei.com
dl.c12.lixian.vip.xunlei.com
dl.c13.lixian.vip.xunlei.com
dl.c14.lixian.vip.xunlei.com
dl.c15.lixian.vip.xunlei.com
dl.c16.lixian.vip.xunlei.com
dl.c17.lixian.vip.xunlei.com
dl.c18.lixian.vip.xunlei.com
dl.c19.lixian.vip.xunlei.com
dl.c20.lixian.vip.xunlei.com
dl.c21.lixian.vip.xunlei.com
dl.c22.lixian.vip.xunlei.com
dl.c23.lixian.vip.xunlei.com
dl.c24.lixian.vip.xunlei.com
dl.c25.lixian.vip.xunlei.com

dl.c26.lixian.vip.xunlei.com

迅雷最近一年好像没怎么添加节点 过去每个月都会多出来节点..

@jkldgoefgkljefogeg
Copy link
Author

Traceback (most recent call last):
File "/home/ttp/bin/lx", line 63, in
execute_command()
File "/home/ttp/bin/lx", line 60, in execute_command
commandscommand
File "/home/ttp/src/xunlei-lixian/lixian_cli_parser.py", line 165, in parse
return f(parser(args_list, _args, *_kwargs))
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 325, in download_task
download_multiple_tasks(client, tasks, download_args)
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 227, in download_multiple_tasks
download_single_task(client, task, options)
File "/home/ttp/src/xunlei-lixian/lixian_commands/download.py", line 153, in download_single_task
files, skipped, single_file = lixian_query.expand_bt_sub_tasks(task)
File "/home/ttp/src/xunlei-lixian/lixian_query.py", line 443, in expand_bt_sub_tasks
files = task['base'].get_files(task) # XXX: a dirty trick to cache requests
File "/home/ttp/src/xunlei-lixian/lixian_query.py", line 69, in get_files
self.files[id] = self.client.list_bt(task)
File "/home/ttp/src/xunlei-lixian/lixian.py", line 588, in list_bt
html = remove_bom(self.urlread(url)).decode('utf-8')
File "/home/ttp/src/xunlei-lixian/lixian.py", line 266, in urlread
data = self.urlread1(url, *_args)
File "/home/ttp/src/xunlei-lixian/lixian.py", line 257, in urlread1
response = self.urlopen(url, *_args)
File "/home/ttp/src/xunlei-lixian/lixian.py", line 21, in withretry
return f(_args, *_kwargs)
File "/home/ttp/src/xunlei-lixian/lixian.py", line 247, in urlopen
return self.opener.open(urllib2.Request(url, *_args), timeout=60)
File "/usr/lib/python2.6/urllib2.py", line 397, in open
response = meth(req, response)
File "/usr/lib/python2.6/urllib2.py", line 510, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.6/urllib2.py", line 435, in error
return self._call_chain(_args)
File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib/python2.6/urllib2.py", line 518, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 400: Bad Request

@iambus
Copy link
Owner

iambus commented Oct 7, 2014

之前加过一个参数--node,不知道有没有帮助?比如:

lx d --node=vod12

可以把解析后vod18.c11.lixian.vip.xunlei.com替换成vod12.c11.lixian.vip.xunlei.com

@jkldgoefgkljefogeg
Copy link
Author

node is c1-c26, i, t1-t34 etc. vod{number} refers to the servers within the node. Based on my observation the file is only on one server per node. So changing server number (vod) doesn't work.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants