如何在Python中从IPFS下载文件

时间:2018-10-24 09:26:07

标签: python ipfs

我正在使用一种将加密文件上传到ipfs的方案,现在我希望它先下载然后解密。 有什么方法可以使用python下载文件吗?

2 个答案:

答案 0 :(得分:1)

您可以在IPFS上使用python包装器与IPFS进行交互。您可以从此处下载

https://github.com/ipfs/py-ipfs-api.git

import ipfsapi
api = ipfsapi.connect('127.0.0.1', 5001)

添加文件

new_file = api.add('new.txt')

响应将类似于

 {'Name': 'new.txt', 'Hash': 'QmWvgsuZkaWxN1iC7GDciEGsAqphmDyCsk3CVHh7XVUUHq', 'Size': '28'}

为了查看您调用的文件的内容

 api.cat('QmWvgsuZkaWxN1iC7GDciEGsAqphmDyCsk3CVHh7XVUUHq')

答案 1 :(得分:1)

我认为这会有所帮助:

  1. 首先安装ipfs python库: pip install ipfs-api
  2. 连接到ipfs对等。假设您已经在机器上安装了ipfs 并且ipfs守护程序正在运行,或者通过infura连接而无需运行守护程序。这也取决于您上传文件的方式。
  3. 一旦连接到对等方,现在就可以使用带有ipfs哈希的get函数作为输入 下载ipfs文件
  4. 完成后,文件将存储在当前目录(python脚本所在的目录)中

更多信息可以使用文档https://media.readthedocs.org/pdf/python-ipfs-api/latest/python-ipfs-api.pdf

以下是代码:

import ipfsApi
api = ipfsApi.Client(host='https://ipfs.infura.io', port=5001)
#OR
#api = ipfsApi.Client(host='http://127.0.0.1', port=5001)
api.get('Qm... Your IPFS Hash')