Update aria2c.rst

pull/629/head
ITriskTI 2016-04-18 15:54:39 +03:00
parent c9e2223741
commit 3a6f39ca7a
1 changed files with 70 additions and 31 deletions

View File

@ -108,7 +108,7 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
Смотрите также раздел `ОКРУЖЕНИЕ`_. Смотрите также раздел `ОКРУЖЕНИЕ`_.
.. note:: .. note::
Если пользователь и пароль вставлены в URI-прокси и они также указаны в Если пользователь и пароль вставлены в URI-прокси и они также указаны в
параметрах *--{http,https,ftp,all}-proxy-{user,passwd}*, то те, которые параметрах *--{http,https,ftp,all}-proxy-{user,passwd}*, то те, которые
указаны позже переопределят предыдущие параметры. указаны позже переопределят предыдущие параметры.
@ -223,7 +223,7 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
включена. включена.
.. note:: .. note::
Файл netrc считывается только при запуске, если :option:`--no-netrc <-n>` задан Файл netrc считывается только при запуске, если :option:`--no-netrc <-n>` задан
как ``false``. Так что если :option:`--no-netrc <-n>` задан как ``true`` при как ``false``. Так что если :option:`--no-netrc <-n>` задан как ``true`` при
загрузке, то netrc недоступен на протяжении всей сессии. Вы не сможете получить загрузке, то netrc недоступен на протяжении всей сессии. Вы не сможете получить
@ -322,7 +322,7 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
По умолчанию: ``5`` По умолчанию: ``5``
.. note:: .. note::
Некоторые Metalink регламентируют количество серверов для соединения. aria2 Некоторые Metalink регламентируют количество серверов для соединения. aria2
строго соблюдает это. Это значит, что если Metalink определяет атрибут строго соблюдает это. Это значит, что если Metalink определяет атрибут
``maxconnections`` меньше чем N, то aria2 использует это, более низкое ``maxconnections`` меньше чем N, то aria2 использует это, более низкое
@ -436,7 +436,7 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
По умолчанию: 'false По умолчанию: 'false
.. note:: .. note::
Некоторые серверы отвечают ``Content-Encoding: gzip`` для файлов, которые сами Некоторые серверы отвечают ``Content-Encoding: gzip`` для файлов, которые сами
по себе сжаты (gzipped). aria2 добавляет их, так или иначе, из-за заголовка по себе сжаты (gzipped). aria2 добавляет их, так или иначе, из-за заголовка
ответа. ответа.
@ -523,7 +523,7 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
По умолчанию: ``false`` По умолчанию: ``false``
.. note:: .. note::
С точки зрения производительности, как правило, нет преимущества от С точки зрения производительности, как правило, нет преимущества от
включения этого параметра. включения этого параметра.
@ -995,7 +995,7 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
Смотрите также параметр :option:`--seed-ratio`. Смотрите также параметр :option:`--seed-ratio`.
.. note:: .. note::
Указанный :option:`--seed-time=0 <--seed-time>` отключает Указанный :option:`--seed-time=0 <--seed-time>` отключает
сидирование после завершения загрузки. сидирование после завершения загрузки.
@ -1053,7 +1053,7 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
Указать предпочитаемый протокол. Возможные значения: ``http``, ``https``, ``ftp`` Указать предпочитаемый протокол. Возможные значения: ``http``, ``https``, ``ftp``
и ``none``. Указать ``none`` для отключения этой возможности. и ``none``. Указать ``none`` для отключения этой возможности.
По умолчанию: ``none`` По умолчанию: ``none``
.. option:: --metalink-enable-unique-protocol[=true|false] .. option:: --metalink-enable-unique-protocol[=true|false]
Если задано ``true``, а в metalink-файле доступно несколько Если задано ``true``, а в metalink-файле доступно несколько
@ -1580,7 +1580,7 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
По умолчанию: ``1M`` По умолчанию: ``1M``
.. note:: .. note::
Возможный вариант использования параметра Возможный вариант использования параметра
:option:`--piece-length` - изменение диапазона запроса в одном конвейерном :option:`--piece-length` - изменение диапазона запроса в одном конвейерном
HTTP-запросе. Для включения конвейерной обработки HTTP используйте HTTP-запросе. Для включения конвейерной обработки HTTP используйте
@ -1728,7 +1728,7 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
Укорачивать консольный индикатор, чтобы он поместился в Укорачивать консольный индикатор, чтобы он поместился в
одну строку. одну строку.
По умолчанию: ``true`` По умолчанию: ``true``
.. option:: -v, --version .. option:: -v, --version
Вывести номер версии, информацию об авторских Вывести номер версии, информацию об авторских
@ -1990,7 +1990,7 @@ aria2 распознает следующие переменные окруже
переменную. переменную.
.. note:: .. note::
Несмотря на то, что aria2 допускает ``ftp://`` и ``https://`` схемы прокси в URI, Несмотря на то, что aria2 допускает ``ftp://`` и ``https://`` схемы прокси в URI,
она просто предполагает, что определен ``http://`` и не меняет своего поведения, она просто предполагает, что определен ``http://`` и не меняет своего поведения,
основанного на определенной схеме. основанного на определенной схеме.
@ -2220,7 +2220,7 @@ URI. Эти дополнительные строки должны начина
* :option:`uri-selector <--uri-selector>` * :option:`uri-selector <--uri-selector>`
* :option:`use-head <--use-head>` * :option:`use-head <--use-head>`
* :option:`user-agent <-U>` * :option:`user-agent <-U>`
Эти параметры имеют точно такой же смысл, что параметры командной строки, но Эти параметры имеют точно такой же смысл, что параметры командной строки, но
это применимо только к URI, к которым они принадлежат. Обратите внимание, это применимо только к URI, к которым они принадлежат. Обратите внимание,
что параметры во входном файле не должны иметь префикс ``--``. что параметры во входном файле не должны иметь префикс ``--``.
@ -2371,9 +2371,9 @@ RPC-метод `system.multicall` обрабатывается особым об
против RPC-интерфейса. Поэтому рекомендуется отдавать предпочтение пакетным против RPC-интерфейса. Поэтому рекомендуется отдавать предпочтение пакетным
или `system.multicall` запросам, когда это необходимо. или `system.multicall` запросам, когда это необходимо.
`system.listMethods` может выполняться без секретного маркера. Так он `system.listMethods` и `system.listNotifications` могут выполняться без секретного маркера. Так они
просто возвращает все доступные методы, и ничего не изменяет, это просто возвращает доступные методы/уведомления, и ничего не изменяют, они
безопасно без секретного маркера. безопасны без секретного маркера.
Методы Методы
~~~~~~ ~~~~~~
@ -2723,6 +2723,15 @@ RPC-метод `system.multicall` обрабатывается особым об
``name`` ``name``
имя в разделе info. Используется ``name.utf-8``, если доступно. имя в разделе info. Используется ``name.utf-8``, если доступно.
``verifiedLength``
Количество проверенных байт во время проверки хэша. Это поле
появляется только тогда, когда загрузка начинает проверять хэш.
``verifyIntegrityPending``
``true`` - если эта загрузка ожидает в очереди проверки хэша.
Это поле появляется только тогда, когда эта загрузка находится
в очереди.
**Пример JSON-RPC** **Пример JSON-RPC**
Следующий пример получает информацию о загрузке с GID#2089b05ecca3d829:: Следующий пример получает информацию о загрузке с GID#2089b05ecca3d829::
@ -3607,6 +3616,36 @@ RPC-метод `system.multicall` обрабатывается особым об
>>> s.system.listMethods() >>> s.system.listMethods()
['aria2.addUri', 'aria2.addTorrent', ... ['aria2.addUri', 'aria2.addTorrent', ...
.. function:: system.listNotifications()
Этот метод возвращает все доступные RPC-методы в массиве строк.
В отличие от других методов, этот метод не требует секретный маркер.
Это безопасно, потому что этот метод просто возвращает названия доступных
уведомлений.
**Пример JSON-RPC**
::
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'system.listNotifications'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
u'jsonrpc': u'2.0',
u'result': [u'aria2.onDownloadStart',
u'aria2.onDownloadPause',
...
**Пример XML-RPC**
::
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.system.listNotifications()
['aria2.onDownloadStart', 'aria2.onDownloadPause', ...
Обработка ошибок Обработка ошибок
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
@ -3767,49 +3806,49 @@ RPC-сервер может отправлять уведомления клие
Это уведомление будет оправлено, когда загрузка запущена. Это уведомление будет оправлено, когда загрузка запущена.
Параметр *event* имеет тип структура и содержит следующие ключи. Ключ имеет тип строка. Параметр *event* имеет тип структура и содержит следующие ключи. Ключ имеет тип строка.
``gid`` ``gid``
GID загрузки. GID загрузки.
.. function:: aria2.onDownloadPause(event) .. function:: aria2.onDownloadPause(event)
Это уведомление будет оправлено, когда загрузка приостановлена. *event* - Это уведомление будет оправлено, когда загрузка приостановлена. *event* -
такая же структура, как параметр *event* в методе такая же структура, как параметр *event* в методе
:func:`aria2.onDownloadStart`. :func:`aria2.onDownloadStart`.
.. function:: aria2.onDownloadStop(event) .. function:: aria2.onDownloadStop(event)
Это уведомление будет оправлено, когда загрузка остановлена Это уведомление будет оправлено, когда загрузка остановлена
пользователем. *event* - такая же структура, как параметр *event* в методе пользователем. *event* - такая же структура, как параметр *event* в методе
:func:`aria2.onDownloadStart`. :func:`aria2.onDownloadStart`.
.. function:: aria2.onDownloadComplete(event) .. function:: aria2.onDownloadComplete(event)
Это уведомление будет оправлено, когда загрузка завершена. Для Это уведомление будет оправлено, когда загрузка завершена. Для
BitTorrent-загрузок, это уведомление отправляется, когда загрузка завершена BitTorrent-загрузок, это уведомление отправляется, когда загрузка завершена
и сидирование окончено. *event* - такая же структура, как параметр *event* в и сидирование окончено. *event* - такая же структура, как параметр *event* в
методе :func:`aria2.onDownloadStart`. методе :func:`aria2.onDownloadStart`.
.. function:: aria2.onDownloadError(event) .. function:: aria2.onDownloadError(event)
Это уведомление будет оправлено, когда загрузка остановлена из-за Это уведомление будет оправлено, когда загрузка остановлена из-за
ошибки. *event* - такая же структура, как параметр *event* в методе ошибки. *event* - такая же структура, как параметр *event* в методе
:func:`aria2.onDownloadStart`. :func:`aria2.onDownloadStart`.
.. function:: aria2.onBtDownloadComplete(event) .. function:: aria2.onBtDownloadComplete(event)
Это уведомление будет оправлено, когда torrent-загрузка завершена, но Это уведомление будет оправлено, когда torrent-загрузка завершена, но
сидирование продолжается. *event* - такая же структура, как параметр *event* сидирование продолжается. *event* - такая же структура, как параметр *event*
в методе :func:`aria2.onDownloadStart`. в методе :func:`aria2.onDownloadStart`.
Пример кода XML-RPC-клиента Пример кода XML-RPC-клиента
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -3820,15 +3859,15 @@ RPC-сервер может отправлять уведомления клие
.. code-block:: ruby .. code-block:: ruby
#!/usr/bin/env ruby #!/usr/bin/env ruby
require 'xmlrpc/client' require 'xmlrpc/client'
require 'pp' require 'pp'
client=XMLRPC::Client.new2("http://localhost:6800/rpc") client=XMLRPC::Client.new2("http://localhost:6800/rpc")
options={ "dir" => "/downloads" } options={ "dir" => "/downloads" }
result=client.call("aria2.addUri", [ "http://localhost/aria2.tar.bz2" ], options) result=client.call("aria2.addUri", [ "http://localhost/aria2.tar.bz2" ], options)
pp result pp result
@ -3837,7 +3876,7 @@ RPC-сервер может отправлять уведомления клие
import xmlrpclib import xmlrpclib
from pprint import pprint from pprint import pprint
s = xmlrpclib.ServerProxy("http://localhost:6800/rpc") s = xmlrpclib.ServerProxy("http://localhost:6800/rpc")
r = s.aria2.addUri(["http://localhost/aria2.tar.bz2"], {"dir":"/downloads"}) r = s.aria2.addUri(["http://localhost/aria2.tar.bz2"], {"dir":"/downloads"})
pprint(r) pprint(r)
@ -3972,7 +4011,7 @@ Checksum
$ aria2c --ftp-proxy="http://proxy:8080" "ftp://host/file" $ aria2c --ftp-proxy="http://proxy:8080" "ftp://host/file"
.. note:: .. note::
Смотрите для подробностей :option:`--http-proxy`, Смотрите для подробностей :option:`--http-proxy`,
:option:`--https-proxy`, :option:`--https-proxy`,
:option:`--ftp-proxy`, :option:`--all-proxy` и :option:`--ftp-proxy`, :option:`--all-proxy` и
@ -4306,7 +4345,7 @@ RPC
$ aria2c -V file.metalink $ aria2c -V file.metalink
.. note:: .. note::
При использовании BitTorrent или Metalink с контрольными суммами блоков При использовании BitTorrent или Metalink с контрольными суммами блоков
данных можно эффективно исправлять поврежденные загрузки. данных можно эффективно исправлять поврежденные загрузки.