PHP POST 请求未返回任何内容

PHP POST requests not returning anything

我正在尝试从网页使用 this api,为此我正在使用 php(因为我的主机不允许任何其他操作)

我必须对此 url

提出 post 请求

https://emkc.org/api/v1/piston/execute

请求正文必须如下所示:

{
  "language": "python",
  "source": "print('a')"
}

我已经尝试使用此代码来实现这一点,这是我通过使用 postman 获得的,并检查它是否有效:

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://emkc.org/api/v1/piston/execute',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "language": "python",
    "source": "print(\'a\')"
  }',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Cookie: engineerman.sid=s%3AskNtfiOWjopn-CqdMwPS8SaWagDp5WYc.vJITp6lG8V9dteGzs92Xldaw88sfHfLO1sF%2FbfdLvbI'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var_dump($response);
print_r($response);

?>

但是当我从我的本地服务器 运行 时它不起作用。 var_dump() returns bool(false) 其余的 return 没有。

这是怎么回事?

我发现了问题。我 运行 只是我计算机上的一个 PHP 服务器,要让它访问互联网,我必须有一个 Apache 服务器 运行 而不是简单的 PHP 一。我的 API 通话没有退出我的计算机