使用 PHP cURL 发送 PUT 请求


Send PUT request with PHP cURL

我正在尝试与在每个请求中首先等待令牌的Web服务进行通信。有我的问题,Web 服务正在等待令牌通过file_get_contenst(php://input)

我没有找到一种方法来发送 cURL 请求(发送原始数据/放置数据而不是 Post(。有人可以指导我吗?

我尝试了类似的东西:

$fp = fopen('php://temp/maxmemory:256000', 'w');
fwrite($fp, TOKEN);
fseek($fp, 0);
curl_setopt($ch, CURLOPT_INFILE, $fp); // file pointer
curl_setopt($ch, CURLOPT_INFILESIZE, strlen($json));

curl_setopt($ch, CURLOPT_PUT, true);

有关更多信息,您可以参考: 如何在 PHP 中启动 GET/POST/PUT/DELETE 请求并判断请求类型?

  1. HTTP PUT方法通常用于更新资源。
  2. 首先需要带上(GET(资源信息。
  3. ,然后根据您的参数更新资源信息。
  4. 最后,向服务器发出PUT请求。

在 php 中,curl 用于进行 rest 调用。curl 直接支持 HTTP GETPOST。但是对于 PUT 和 DELETE,您必须相应地设置选项curl_setopt()

     $curl = curl_init($url);
     **curl_setopt($curl,CURLOPT_CUSTOMREQUEST,"PUT")**;
     curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
     curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
     curl_setopt($curl,CURLOPT_POSTFIELDS,$update_para);
     $curl_response = curl_exec($curl);