Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

749
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda