天天看點

java連接配接IPFS報錯:405405報錯原因解決

依賴引入方式,我的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版本,不需要修改)

java連接配接IPFS報錯:405405報錯原因解決

2、項目導入idea

你也可以導入其他編輯工具。(idea是宇宙級編輯器)

并打開IPFS.java

java連接配接IPFS報錯:405405報錯原因解決

3、修改方法

找到其中的GET,并将其改為POST(1.2.2有兩處)。

java連接配接IPFS報錯:405405報錯原因解決

4、重新打包

java連接配接IPFS報錯:405405報錯原因解決

依次點選ant工具的clean和dist,在項目的dist目錄下,将ipfs.jar包複制到所需要的項目中導入即可。

@Test
	void ttt(){
		IPFS ipfs = new IPFS("/ip4/ip/tcp/5001");
		System.out.println(ipfs);

	}

//輸出:[email protected]