Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

755
Vistas
tratando de almacenar datos en un nodo ipfs externo a través de http api, ipfs.infura.io rechazando mi conexión

Estoy tratando de almacenar datos en ipfs a través de PHP, uso curl para comunicarme con API, funciona bien en mi nodo local, pero quiero usar un nodo externo de infura.io

pero por alguna razón, ipfs.infura.io rechaza mi conexión a través de php, incluso un comando simple como... Lo probé en mi localhost, así como en un par de servidores

aquí hay un punto final simple que puede abrir en el navegador y obtener el resultado

https://ipfs.infura.io:5001/api/v0/pin/add?arg=QmeGAVddnBSnKc1DLE7DLV9uuTqo5F7QbaveTjr45JUdQn

pero cuando trato de abrirlo a través de php obtengo

No se pudo conectar con ipfs.infura. puerto io 5001: conexión rechazada

o cuando se usa otro método como file_get_contents

file_get_contents(ipfs.infura.io:5001/api/v0/pin/add?arg=QmeGAVddnBSnKc1DLE7DLV9uuTqo5F7QbaveTjr45JUdQn): error al abrir la transmisión: conexión rechazada

Lo probé en el host local y en varios servidores, obtengo el mismo resultado incluso a través de la línea de comando ssh

ingrese la descripción de la imagen aquí

¿alguna idea de por qué sucede esto?

aquí hay una versión simplificada n de mi código

 $curl = curl_init(); curl_setopt($curl, CURLOPT_URL,"https://ipfs.infura.io:5001/api/v0/pin/add?arg=QmeGAVddnBSnKc1DLE7DLV9uuTqo5F7QbaveTjr45JUdQn"); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_FAILONERROR, true); $res = curl_exec($curl); if (curl_errno($curl)) { $error_msg = curl_error($curl); echo ('error ...'); echo ($error_msg); exit(); } curl_close($curl); echo($res);
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para conectar el nodo ipfs , debe tener una biblioteca cliente. las bibliotecas de clientes dan formato automáticamente a las respuestas de la API para que coincidan con los tipos de datos utilizados en el lenguaje de programación y también manejan otras reglas de comunicación específicas.

en javascript,

 import { create as ipfsHttpClient } from "ipfs-http-client"; const client = ipfsHttpClient("https://ipfs.infura.io:5001/api/v0");

entonces este cliente hace la solicitud:

 const added = await client.add(file, { progress: (prog) => console.log(`received:${prog}`),

En php, puede usar este paquete: https://github.com/cloutier/php-ipfs-api

Marque esto para interactuar con infura: https://github.com/digitalkaoz/php-ipfs-api

Esta biblioteca requiere el módulo cURL:

 $ sudo apt-get install php5-curl $ composer require cloutier/php-ipfs-api $ composer install $ export IPFS_API=http://somehost:5001/api/v0

para usar este controlador desde la línea de comandos, simplemente proporcione la opción (o déjela fuera ya que es la predeterminada):

 $ bin/php-ipfs version --driver=IPFS\\Driver\\Http $ bin/php-ipfs version

El cliente de este controlador está destinado al uso programático:

 $driver = $container[IPFS\Driver\Cli::class]; //$driver = $container[IPFS\Driver\Http::class]; $client = new IPFS\Client($driver); $response = $client->execute((new \IPFS\Api\Basics())->version()); var_dump($response);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda