Web3js
無法通過 curl 連接到 infura.io 上的 ipfs 外部節點
我試圖通過 php 將數據儲存到 ipfs,我使用 curl 與 api 通信,它可以在我的本地節點上找到,但我想使用來自 infura.io 的外部節點
但由於某種原因,ipfs.infura.io 拒絕我通過 php 進行的連接,即使是一個簡單的命令,比如……我已經在我的本地主機以及幾台伺服器上嘗試過
這是一個簡單的端點,您可以在瀏覽器中打開它並獲取輸出
https://ipfs.infura.io:5001/api/v0/pin/add?arg=QmeGAVddnBSnKc1DLE7DLV9uuTqo5F7QbaveTjr45JUdQn
但是當我嘗試通過 php 打開它時,我得到了
無法連接到 ipfs.infura。io 埠 5001:連接被拒絕
或使用其他方法時,例如 file_get_contents
file_get_contents(ipfs.infura.io:5001/api/v0/pin/add?arg=QmeGAVddnBSnKc1DLE7DLV9uuTqo5F7QbaveTjr45JUdQn):無法打開流:連接被拒絕
我已經在本地主機和多個伺服器上嘗試過,即使通過 ssh 命令行我也得到了相同的結果
知道為什麼會這樣嗎?
這是我的程式碼的簡化版本 n
$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);
你的程式碼對我來說很好。我也可以用 curl 得到正確的響應。我認為您應該在網路基礎設施中搜尋問題的原因。這是https://stackoverflow.com/a/2333446/7581809很好的討論為什麼會發生這個問題。你說你嘗試了不同的伺服器。這些伺服器在同一個網路中嗎?這個網路中可能有防火牆,它拒絕你的數據包到 infura。從另一個網路嘗試另一個伺服器。