5

我对 Slim Framework 2 完全陌生,我想对外部 API 进行 HTTP 调用。

它只是这样的: GET http://website.com/method

有没有办法使用 Slim 来做到这一点,还是我必须使用 curl 来处理 PHP?

4

3 回答 3

12

您可以使用 Slim 框架构建 API。要使用其他 API,您可以使用 PHP Curl。

例如:

<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://website.com/method");
curl_setopt($ch, CURLOPT_HEADER, 0);            // No header in the result 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return, do not echo result   

// Fetch and return content, save it.
$raw_data = curl_exec($ch);
curl_close($ch);

// If the API is JSON, use json_decode.
$data = json_decode($raw_data);
var_dump($data);

?>
于 2013-04-11T12:37:09.077 回答
1
<?php
  try {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://website.com/method");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TCP_KEEPALIVE, 1);
    curl_setopt($ch, CURLOPT_TCP_KEEPIDLE, 2);
    $data = curl_exec($ch);
    if(curl_errno($ch)){
        throw new Exception(curl_error($ch));
    }
    curl_close($ch);
    $data = json_decode($data);
    var_dump($data);
  } catch(Exception $e) {
    // do something on exception
  }
?>
于 2016-02-24T22:17:36.110 回答
0

我更喜欢使用能够获取远程文件并且可以使用参数进行调整的file_get_contents 。$context第四个示例显示了一个获取请求。

$file = file_get_contents('http://www.example.com/', false, $context);
于 2018-11-12T15:30:21.750 回答