使用PHP cURL发送PUT请求

时间:2013-10-08 20:06:27

标签: 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));

2 个答案:

答案 0 :(得分:7)

curl_setopt($ch, CURLOPT_PUT, true);

有关详细信息,请参阅:How to start a GET/POST/PUT/DELETE request and judge request type in PHP?

答案 1 :(得分:0)

  1. HTTP PUT方法通常用于更新资源。
  2. 首先需要提供(GET)资源信息。
  3. 然后根据您的参数更新资源信息。
  4. 最后,向服务器发出PUT请求。
  5. 在php中,curl用于进行休息调用。 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);