Merge branch 'master' of github.com:tatsuhiro-t/aria2

pull/14/head
Tatsuhiro Tsujikawa 2012-03-23 01:37:23 +09:00
commit 4c4e1dcf9b
1 changed files with 94 additions and 14 deletions

View File

@ -4,7 +4,7 @@ Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
:doctype: manpage
:man source: Aria2
:man manual: Руководство по Aria2
:man version: 1.14.2
:man version: 1.15.0
НАЗВАНИЕ
--------
@ -33,7 +33,7 @@ FTP, BitTorrent и Metalink. Для загрузки файла, aria2 може
Основные параметры
~~~~~~~~~~~~~~~~~~
[[aria2_optref_dir]]*-d*, *--dir*=DIR::
Каталог для сохранения скачанных файлов.
Каталог для сохранения загруженных файлов.
[[aria2_optref_input_file]]*-i*, *--input-file*=FILE::
Загрузить URI, найденные в файле FILE. Вы можете указать несколько URI для одного
@ -711,7 +711,7 @@ Chromium/Google Chrome не поддерживаются.
[[aria2_optref_dht_listen_port]]*--dht-listen-port*=PORT...::
Задать прослушиваемый UDP-порт для обоих IPv4 и IPv6 DHT. Несколько портов можно
указать через ",", например: '6881,6885'. Вы так же можете использовать "-"
указать через ",", например: '6881,6885'. Вы также можете использовать "-"
чтобы указать диапазон: '6881-6999'. "," и "-" могут быть использованы
вместе.
По умолчанию: '6881-6999'
@ -1828,18 +1828,26 @@ host=localhost, protocol=ftp, dl_speed=0, last_updated=1222491632, status=ERROR
RPC-ИНТЕРФЕЙС
-------------
aria2 обеспечивает JSON-RPC и XML-RPC, они в основном имеют одинаковые
функции.
aria2 обеспечивает JSON-RPC через HTTP и XML-RPC через HTTP, они в основном
имеют одинаковые функции. aria2 также обеспечивает JSON-RPC через
WebSocket. JSON-RPC через WebSocket использует тот же самый метод сигнатур и
формат ответа как у JSON-RPC через HTTP, но дополнительно имеет сервер,
инициирующий уведомления. Смотрите подробности в разделе
*<<_json_rpc_через_websocket, JSON-RPC через WebSocket>>*.
Путь для запроса к JSON-RPC-интерфейсу - '/jsonrpc'. Путь для запроса к
XML-RPC-интерфейсу - '/rpc'.
Путь запроса к JSON-RPC-интерфейсу (для через HTTP и через WebSocket) -
'/jsonrpc'. Путь запроса к XML-RPC-интерфейсу - '/rpc'.
JSON-RPC реализован на основе
http://groups.google.com/group/json-rpc/web/json-rpc-2-0[JSON-RPC 2.0
Спецификация (2010-03-26)] с поддержкой HTTP POST и GET (JSONP).
WebSocket URI для JSON-RPC через WebSocket является ws://HOST:PORT/jsonrpc.
JSON-RPC-интерфейс не поддерживает уведомления. Он так же не поддерживает
числа с плавающей точкой. Символы должны быть в кодировке UTF-8.
Реализованный JSON-RPC основан на спецификации
http://jsonrpc.org/specification[JSON-RPC 2.0] и поддерживает HTTP POST и
GET (JSONP). Использование WebSocket как транспорта является начальным
расширением aria2.
JSON-RPC-интерфейс не поддерживает уведомления в HTTP, но RPC-сервер будет
отправлять уведомления в WebSocket. Он также не поддерживает числа с
плавающей точкой. Символы должны быть в кодировке UTF-8.
В следующем документе о JSON-RPC, описана структура JSON-объекта.
@ -3460,7 +3468,79 @@ JSON-RPC-интерфейс поддерживает JSONP. Вы можете о
/jsonrpc?params=W3sianNvbnJwYyI6ICIyLjAiLCAiaWQiOiAicXdlciIsICJtZXRob2QiOiAiYXJpYTIuZ2V0VmVyc2lvbiJ9LCB7Impzb25ycGMiOiAiMi4wIiwgImlkIjogImFzZGYiLCAibWV0aG9kIjogImFyaWEyLnRlbGxBY3RpdmUifV0%3D
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Пример кода клиента XML-RPC
JSON-RPC через WebSocket
~~~~~~~~~~~~~~~~~~~~~~~~
JSON-RPC через WebSocket использует тот же самый метод сигнатур и формат
ответа как у JSON-RPC через HTTP. Поддерживаемый WebSocket, версия 13,
детально описан в http://tools.ietf.org/html/rfc6455[RFC 6455].
Для отправки RPC-запроса на RPC-сервер, надо отправлять преобразованную в
последовательную форму JSON-строку в текстовом фрейме. Ответ от RPC-сервера
также доставляется в текстовом фрейме.
RPC-сервер отправит уведомление клиенту. Уведомление является
однонаправленным, поэтому клиент, который получил уведомление, не должен
отвечать на него. Метод сигнатуры уведомления такой же, как нормальный метод
запроса, но отсутствует идентификатор ключа. Значение, связанное с ключом
params, является данными, которые переносит это уведомление. Формат этого
значения варьируется в зависимости от метода уведомления. Определены
следующие методы уведомления.
[[aria2_rpc_aria2_onDownloadStart]]
*aria2.onDownloadStart* ('event')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Это уведомление будет оправлено, если загрузка запущена. Параметр 'event'
имеет тип структура и содержит следующие поля. Поле имеет тип строка.
gid::
GID загрузки.
[[aria2_rpc_aria2_onDownloadPause]]
*aria2.onDownloadPause* ('event')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Это уведомление будет оправлено, если загрузка приостановлена. 'event' -
такая же структура, как параметр 'event' в методе
*<<aria2_rpc_aria2_onDownloadStart, aria2.onDownloadStart>>*.
[[aria2_rpc_aria2_onDownloadStop]]
*aria2.onDownloadStop* ('event')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Это уведомление будет оправлено, если загрузка остановлена
пользователем. 'event' - такая же структура, как параметр 'event' в методе
*<<aria2_rpc_aria2_onDownloadStart, aria2.onDownloadStart>>*.
[[aria2_rpc_aria2_onDownloadComplete]]
*aria2.onDownloadComplete* ('event')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Это уведомление будет оправлено, если загрузка завершена. В
BitTorrent-загрузках, это уведомление отправляется, когда загрузка завершена
и сидирование окончено. 'event' - такая же структура, как параметр 'event' в
методе *<<aria2_rpc_aria2_onDownloadStart, aria2.onDownloadStart>>*.
[[aria2_rpc_aria2_onDownloadError]]
*aria2.onDownloadError* ('event')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Это уведомление будет оправлено, если загрузка остановлена из-за
ошибки. 'event' - такая же структура, как параметр 'event' в методе
*<<aria2_rpc_aria2_onDownloadStart, aria2.onDownloadStart>>*.
[[aria2_rpc_aria2_onBtDownloadComplete]]
*aria2.onBtDownloadComplete* ('event')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Это уведомление будет оправлено, если загрузка в BitTorrent завершена (но
сидирование может быть не окончено). 'event' - такая же структура, как
параметр 'event' в методе *<<aria2_rpc_aria2_onDownloadStart,
aria2.onDownloadStart>>*.
Пример кода XML-RPC-клиента
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Следующий Ruby-скрипт добавляет 'http://localhost/aria2.tar.bz2', с