如何通过IPFS RPC API获取与CLI一致的routing findprovs结果?
解决IPFS RPC API返回结果与CLI不一致的问题
IPFS CLI的ipfs routing findprovs命令默认会自动格式化输出,只提取节点ID;而RPC API默认返回包含完整信息的JSON流。要让API返回和CLI一致的结果,有两种简单方法:
方法一:指定API输出格式为文本
在API请求的URL里添加enc=text参数,API就会直接返回纯节点ID列表,和CLI输出完全一致。示例curl命令:curl "http://127.0.0.1:5001/api/v0/routing/findprovs?arg=QmUZzfuaCcPSXgADUnkF1GKBsDRUxxxxxxxxx&enc=text"方法二:过滤JSON输出提取节点ID
如果需要保留JSON处理逻辑但只提取节点ID,可以用jq工具对API返回结果做过滤。示例命令:curl "http://127.0.0.1:5001/api/v0/routing/findprovs?arg=QmUZzfuaCcPSXgADUnkF1GKBsDRUxxxxxxxxx" | jq -r '.ID'
内容的提问来源于stack exchange,提问作者overlox
相关产品推荐
相关产品推荐

