2013-10-08 2 views
1

각 요청에서 처음으로 토큰을 대기중인 웹 서비스와 통신하려고합니다. 내 문제가 있습니다. 웹 서비스가 file_get_contenst(php://input)을 통해 토큰을 기다리고 있습니다.PHP cURL로 PUT 요청 보내기

이 방법을 사용하여 cURL 요청을 보내는 방법을 찾지 못했습니다 (Post 대신 원시 데이터/put 데이터 보내기). 어떤 사람이 나를 인도 할 수 있습니까?

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

답변

7

curl_setopt($ch, CURLOPT_PUT, true);

더 많은 정보를 들어 당신이 참조 할 수 있습니다 : PUT 방법은 일반적으로 리소스를 업데이트하는 데 사용됩니다 How to start a GET/POST/PUT/DELETE request and judge request type in PHP?

+0

에 따라 옵션을 설정해야합니다 삭제합니다. [* 여기 *] (http://stackoverflow.com/a/2153670/4058484)를 확인하십시오. – hyip

0
  1. HTTP

    내가 좋아하는 뭔가를 시도했다.
  2. 먼저 리소스 정보 (GET)를 가져와야합니다.
  3. 다음 매개 변수에 따라 리소스 정보를 업데이트하십시오.
  4. 마지막으로 서버에 PUT 요청을하십시오.

PHP에서는 말장난을하기 위해 말풍선이 사용됩니다. HTTP GETPOST은 컬링에서 직접 지원됩니다. 그러나 및 PUT 당신은 우리는 또한 사용자 지정 HTTP`스트림 context`와`file_get_contents`를 사용할 수 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);