2013-10-08 182 views
1

我試圖與每個請求中首先等待令牌的Web服務進行通信。 有我的問題,網絡服務正在等待令牌file_get_contenst(php://input)用PHP cURL發送PUT請求

我沒有找到一種方法發送cURL請求使此方法(發送原始數據/放置數據,而不是郵政)。 有人可以引導我嗎?

我想是這樣的:

$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)); 

回答

0
  1. HTTP PUT方法一般用於更新資源。
  2. 首先需要攜帶(GET)資源信息。
  3. 然後根據您的參數更新資源信息。
  4. 最後,向服務器發出PUT請求。

在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);