首页后端开发PHPPHP怎样用curl发送HTTP请求,实例是怎样的

PHP怎样用curl发送HTTP请求,实例是怎样的

时间2024-03-22 17:00:03发布访客分类PHP浏览1007
导读:今天就跟大家聊聊有关“PHP怎样用curl发送HTTP请求,实例是怎样的”的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 cURL 函数概述 PHP支持的由Daniel S...
今天就跟大家聊聊有关“PHP怎样用curl发送HTTP请求,实例是怎样的”的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

cURL 函数概述

PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。

libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。

PHP中使用cURL实现Get和Post请求的方法

这些函数在PHP 4.0.2中被引入。

实例

因为需要在 php 开发中对接其它接口需要用 php curl 去对接其它接口 我把他们封装成函数 希望能对大家有所帮助。

这里面是封装好的会自动把 data 进行转成 json 格式,同时解码成 php 数组输出。

?php
function geturl($url){
    
    $headerArray =array("Content-type:application/json;
    ","Accept: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);
     
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    curl_setopt($ch,CURLOPT_HTTPHEADER,$headerArray);
    
    $output = curl_exec($ch);
    
    curl_close($ch);
    
    $output = json_decode($output,true);
    
    return $output;

}



function posturl($url,$data){
    
    $data = json_encode($data);
      
    $headerArray =array("Content-type:application/json;
    charset='utf-8'","Accept:application/json");
    
    $curl = curl_init();
    
    curl_setopt($curl, CURLOPT_URL, $url);
    
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
    
    curl_setopt($curl, CURLOPT_POST, 1);
    
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    
    curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
    
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    
    $output = curl_exec($curl);
    
    curl_close($curl);
    
    return json_decode($output,true);

}



function puturl($url,$data){
    
  $data = json_encode($data);
    
  $ch = curl_init();
     //初始化CURL句柄 
  curl_setopt($ch, CURLOPT_URL, $url);
     //设置请求的URL
  curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
    
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
     //设为TRUE把curl_exec()结果转化为字串,而不是直接输出 
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST,"PUT");
     //设置请求方式
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    //设置提交的字符串
  $output = curl_exec($ch);
    
  curl_close($ch);
    
  return json_decode($output,true);

}


function delurl($url,$data){
    
  $data = json_encode($data);
    
  $ch = curl_init();
    
  curl_setopt ($ch,CURLOPT_URL,$put_url);
    
  curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
    
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    
  curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
      
  curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
    
  $output = curl_exec($ch);
    
  curl_close($ch);
    
  $output = json_decode($output,true);

}


function patchurl($url,$data){
    
  $data = json_encode($data);
    
  $ch = curl_init();
    
  curl_setopt ($ch,CURLOPT_URL,$url);
    
  curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
    
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    
  curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
     
  curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
       //20170611修改接口,用/id的方式传递,直接写在url中了
  $output = curl_exec($ch);
    
  curl_close($ch);
    
  $output = json_decode($output);
    
  return $output;

}
    
?>
    

感谢各位的阅读,以上就是“PHP怎样用curl发送HTTP请求,实例是怎样的”的内容了,通过以上内容的阐述,相信大家对PHP怎样用curl发送HTTP请求,实例是怎样的已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP怎样用curl发送HTTP请求,实例是怎样的
本文地址: https://pptw.com/jishu/650755.html
MySQL数据库中查询所有字段有几种方法 在PHP中数值不够十位怎样进行补位操作

游客 回复需填写必要信息