PHP curl-setopt POST与GET

时间:2018-07-20 13:48:42

标签: php php-curl

我目前正在使用php-curls,我对正在查看的示例有疑问,下面是代码。

$url = "https://my.test.api";
$ch = curl_init($url);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_HTTPHEADER, array(
             'Content-Type: application/json',
             'Content-Length: 0' ));

$result = curl_exec($ch);

我的问题是,在curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");行上,如果这是事情的话,使用POST vs GET有什么好处?我了解两者之间的区别,而不是在这种情况下使用它的情况。

来自PHP手册(http://php.net/manual/en/function.curl-setopt.php

  

在执行HTTP请求时使用的自定义请求方法,而不是“ GET”或“ HEAD”。这对于执行“删除”或其他更晦涩的HTTP请求很有用。有效值为诸如“ GET”,“ POST”,“ CONNECT”之类的内容;即,请勿在此处输入整个HTTP请求行。例如,输入“ GET /index.html HTTP / 1.0 \ r \ n \ r \ n”将是错误的。

这对我来说真的没有多大意义。

1 个答案:

答案 0 :(得分:1)

如果您使用的是REST api,那么真正的RESTful服务将使用HTTP语义进行操作。您获取已经存在的数据。您发布新数据。您将PUT更改为数据。您删除数据。

现在,就实际使用API​​而言,您确实可以对所有4种方法都使用cURL。但是,如果您的PHP安装允许各种*ngFor及相关功能的HTTP URI,则使用file_get_contents()进行GET请求通常会更容易,简单且更少的代码。