java连接IPFS报错:405

依赖引入方式,我的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
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值