pyqt5 PDM下载工具 Persepolis Download Manager 记录

目录为:
https://github.com/persepolisdm/persepolis/releases

https://github.com/persepolisdm/persepolis-windows-package-build

https://github.com/q3aql/aria2-static-builds
xml-rpc 接口
https://aria2.github.io/manual/en/html/aria2c.html#rpc-interface

先下载 源码,通过 git clone 或者是 下载 release版本的源码包
https://github.com/persepolisdm/persepolis/archive/3.2.0.zip
得到如下的目录
pyqt5 PDM下载工具 Persepolis Download Manager 记录_第1张图片
或者如下的目录:
persepolis
├── man
├── persepolis
│ ├── gui
│ └── scripts
├── resources
│ ├── Breeze
│ ├── Breeze-Dark
│ ├── locales
│ ├── Papirus
│ ├── Papirus-Dark
│ └── Papirus-Light
├── test
└── xdg

pip install pyqt5 requests pypiwin32 setproctitle psutil youtube_dl pyinstaller

然后 从下面的链接中下载:
https://github.com/persepolisdm/persepolis-windows-package-build
https://github.com/persepolisdm/persepolis-windows-package-build.git

得到aria2c.exe 和 ffmpeg.exe — 64位系统 对应 64的exe ,32位系统 使用32位的exe
放到 test目录下面

然后执行 test.py
pyqt5 PDM下载工具 Persepolis Download Manager 记录_第2张图片
执行效果:

pyqt5 PDM下载工具 Persepolis Download Manager 记录_第3张图片
pyqt5 PDM下载工具 Persepolis Download Manager 记录_第4张图片
pyqt5 PDM下载工具 Persepolis Download Manager 记录_第5张图片

下载东西的时候遇到问题:

pyqt5 PDM下载工具 Persepolis Download Manager 记录_第6张图片
试试手动编译不依赖 gnutls 呢, configure 的时候加入–without-gnutls --with-openssl

https://github.com/aria2/aria2/releases
https://github.com/q3aql/aria2-static-builds

解压到某一目录并切换到该目录下执行以下命令

./configure --without-gnutls --with-openssl
make && make install

F:\pyqt5\work\pyqt5_code_collection_jack\running\persepolis-3.2.0\test>aria2c.exe -v
aria2 version 1.35.0
Copyright © 2006, 2019 Tatsuhiro Tsujikawa

Error SSL/TLS handshake failure unable to get local issuer certificate
pyqt5 PDM下载工具 Persepolis Download Manager 记录_第7张图片

测试

在linux环境下测试和使用aria2c
https://blog.csdn.net/sophieliucm/article/details/78970004
pyqt5 PDM下载工具 Persepolis Download Manager 记录_第8张图片
aria2c --check-certificate=false https://github.com/aria2/aria2/archive/master.zip

5、aria2c用特定的配置文件启动

#./aria2c --conf-path=/yourpath/aria2.conf –D

参数-D使Aria2在后台运行,即使关闭终端也不会停止运行。

aria2 使用简介

https://www.jianshu.com/p/a8ddf16fabb2

http://aria2.github.io/manual/en/html/aria2c.html

gui 和 aria2c.exe之间是使用的 rpc通信

aria2c.exe --enable-rpc --rpc-listen-port=6801 --rpc-max-request-size=2M --rpc-listen-all --quiet=true https://github.com/aria2/aria2/archive/master.zip

host = localhost
port = 6801
server_uri = http://localhost:6801/rpc
aria2_path =
server =

rpc

xmlrpc.client
xmlrpclib模块在python3中重命名为xmlrpc.client

import xmlrpc.client
s = xmlrpc.client.ServerProxy(‘http://localhost:6801/rpc’)
s.aria2.addUri([‘http://example.org/file’],)

测试 111

https://github.com/aria2/aria2/archive/master.zip
DOS cmd
aria2c.exe --enable-rpc --rpc-listen-port=6801 --rpc-max-request-size=2M --rpc-listen-all
aria2c.exe --enable-rpc --rpc-listen-port=6801 --rpc-max-request-size=2M --rpc-listen-all --quiet=true

import xmlrpc.client
s = xmlrpc.client.ServerProxy(‘http://localhost:6801/rpc’)
s.aria2.addUri([‘https://github.com/aria2/aria2/archive/master.zip’])
pyqt5 PDM下载工具 Persepolis Download Manager 记录_第9张图片

import xmlrpc.client
from pprint import pprint
s = xmlrpc.client.ServerProxy(‘http://localhost:6801/rpc’)
s.aria2.addUri([‘https://github.com/aria2/aria2/archive/master.zip’])
r = s.aria2.tellStatus(‘2089b05ecca3d829’)
pprint®

pyqt5 PDM下载工具 Persepolis Download Manager 记录_第10张图片

pyqt5 PDM下载工具 Persepolis Download Manager 记录_第11张图片
pyqt5 PDM下载工具 Persepolis Download Manager 记录_第12张图片

pyqt5 PDM下载工具 Persepolis Download Manager 记录_第13张图片
pyqt5 PDM下载工具 Persepolis Download Manager 记录_第14张图片
ca-certificate=C:\Program Files\aria2\certs\ca-certificates.crt

pyqt5 PDM下载工具 Persepolis Download Manager 记录_第15张图片

你可能感兴趣的:(pyqt)