依赖引入方式,我的maven下不了,我直接导入的本地jar包。
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.ipfs</groupId>
<artifactId>java-ipfs-http-client</artifactId>
<version>$LATEST_VERSION</version>
</dependency>
</dependencies>
405报错
我使用的依赖为1.2.2版本,存在该问题,最新的1.4.0版本不需要修改。
使用java-ipfs-http-client或者java-ipfs-api连接IPFS时显示连接异常,报错如下:
IOException contacting IPFS daemon.
Trailer: null 405 - Method Not Allowed
原因
查找官方文档寻找原因:后续升级的IPFS不再支持GET类型的连接。
解决
找到几个博客说将依赖包中的请求方法类中的GET方法改为POST方法即可,但都没有具体的操作步骤,唯一可能有操作步骤的博客需要充值vip。six。
那我解决了问题来贡献一个免费方法(其实GitHub里,作者自己也提过)。
1、GitHub下载源码
下载链接:https://github.com/ipfs-shipyard/java-ipfs-http-client(链接中为1.4.0版本,不需要修改)
2、项目导入idea
你也可以导入其他编辑工具。(idea是宇宙级编辑器)
并打开IPFS.java
3、修改方法
找到其中的GET,并将其改为POST(1.2.2有两处)。
4、重新打包
依次点击ant工具的clean和dist,在项目的dist目录下,将ipfs.jar包复制到所需要的项目中导入即可。
@Test
void ttt(){
IPFS ipfs = new IPFS("/ip4/ip/tcp/5001");
System.out.println(ipfs);
}
//输出:io.ipfs.api.IPFS@5b0e9e0c