【问题标题】:CURL status returns internal server error 500CURL 状态返回内部服务器错误 500
【发布时间】:2020-08-29 19:05:42
【问题描述】:

我正在尝试从 apirone 实现比特币网关。问题是当我运行 CURL 函数时,它返回一个内部服务器错误 500。

所以我尝试运行他们的演示代码。虽然它在他们的网站上运行良好,但它返回相同的内部服务器错误,我在我的服务器上尝试它。下面是代码

<?php
  $json_data = array (
    'type' => "forwarding",
    'currency' => "btc",
    'callback' => array(
        'url'=> "http://example.com/callback",
        'data' => array (
            'invoice_id' => "1234"
        )
    ),
    'destinations' => array (        
        array('address' => "1apiKcJM95jENZeom2dQo8ShK7dUQkRaS", 'amount' => 40330),
        array('address' => "1ApiwpetcWnBbkpU7cb7biPfc6Tiucasf8", 'amount' => 40330)
    )
  );
  
  $api_endpoint = "https://apirone.com/api/v2/wallet";
 
  $curl = curl_init($api_endpoint);
  curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
  curl_setopt($curl, CURLOPT_POST, 1);
  curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($json_data));
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  $response = curl_exec($curl);
  $http_status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
  curl_close($curl);
 
  if ($http_status_code==200){
      $decoded = json_decode($response, true);
      echo "Wallet: " . $decoded["wallet"] . "<BR>";
      echo "Key: " . $decoded["transfer_key"];
  } else {
      var_dump($response);
  }
?>

更多细节可以在这里找到https://apirone.com/docs/forwarding-wallet

有人可以告诉我可能导致此错误的原因吗?

谢谢

【问题讨论】:

  • 那么日志是怎么说的?
  • @TonyStark 它没有记录任何与此相关的错误.. 仅从其他页面记录了一些未定义的变量

标签: php curl


【解决方案1】:

我认为这可能是 cURL 设置问题。

尝试放置

curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));

之后

curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($json_data));

另外,我不会直接在函数参数中json_encode($json_data)。尝试之前对其进行编码,并在CURLOPT_POSTFIELDS 选项中发送已经编码的json。

【讨论】:

    猜你喜欢
    • 2014-05-17
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2013-07-24
    • 1970-01-01
    • 2015-03-24
    相关资源
    最近更新 更多