<?php
function update(){
$url = 'https://jsonplaceholder.typicode.com/posts/1';
$data = new \stdClass();
$data->id = 1;
$data->title = 'foo';
$data->body ='bar';
$data->userId = 1;
$jsonData = json_encode($data);
$contents = restful_request($url,$jsonData,$method = 'PUT');
var_dump($contents) ;
echo __FILE__;
echo '<br>';
echo __FILE__;
echo '<br>';
die();
}
update();
//执行curl请求
function restful_request( $url, $jsonData='', $method='GET'){
$method=strtoupper($method);
$headerArray =["Content-type:application/json;"];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if($method=='GET'){
if(empty($jsonData)==false&&is_array($jsonData)){
$queryString="";
foreach($jsonData as $param){
if($queryString=!""){
$queryString.='&';
}
$queryString.=$param;
}
$url.="?".$queryString;
curl_setopt($ch, CURLOPT_URL,$url);
}
$headerArray[]="Accept:application/json";
}else if($method=='POST'){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
$headerArray[]="Accept:application/json";
}else if(in_array($method,['PUT','DELETE','PATCH'])){
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,$method);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// var_dump($headerArray) ;
// echo __FILE__;
// echo '<br>';
// echo __FILE__;
// echo '<br>';
// die();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArray);
$output = curl_exec($ch);
curl_close($ch);
$output = json_decode($output,true);
return $output;
}
RESTful api测试接口参考https://jsonplaceholder.typicode.com