使用Curl发送Post请求
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "http://www.example.com/api/v1/post", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\n \"name\": \"John Doe\",\n \"age\": \"30\"\n}", CURLOPT_HTTPHEADER => array( "Content-Type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
使用Curl发送Get请求
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "http://www.example.com/api/v1/get", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "Content-Type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
使用Curl发送Del请求
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "http://www.example.com/api/v1/del", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "DELETE", CURLOPT_HTTPHEADER => array( "Content-Type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
使用Curl发送Put请求
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "http://www.example.com/api/v1/put", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "PUT", CURLOPT_POSTFIELDS => "{\n \"name\": \"John Doe\",\n \"age\": \"30\"\n}", CURLOPT_HTTPHEADER => array( "Content-Type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
使用Curl发送Patch请求
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "http://www.example.com/api/v1/patch", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "PATCH", CURLOPT_POSTFIELDS => "{\n \"name\": \"John Doe\",\n \"age\": \"30\"\n}", CURLOPT_HTTPHEADER => array( "Content-Type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
PHP中可以使用Curl来发送Post、Get、Del、Put、Patch请求。Post、Get、Del、Put、Patch请求的使用方法大致相同,主要区别在于CURLOPT_CUSTOMREQUEST参数,分别是POST、GET、DELETE、PUT、PATCH。其他参数设置也稍有区别,例如Post请求需要设置CURLOPT_POSTFIELDS参数,Del请求不需要设置参数,Put请求也需要设置CURLOPT_POSTFIELDS参数,Patch请求也需要设置CURLOPT_POSTFIELDS参数。